Programming Assignment 2 finished