faster and much clearer, good points.