Homework is done. (cleaned up comments)