Finish Programming Assignment2