Finished Programming Assignment 1