Finished Programming Assignment 2