Cleaned and commented.