Implemented most of the code review items
Merge branch 'homeworklong'