ProgramAssignment2 with comments