Cleaned and updated ...