Completed assignment, except comments still to do