Assignment2 finished