Finished #4 and assignment as a whole