very good explanation...