mpushomework

I made extensive revisions to this challenge entry. The last one was the original ;p