Completed Assignment #2, ready for code review