Assignment 1: finished