cleaned out and commented