Assignment 1: finished 1 - 3