Finished most of the assignment