Completed Programming Assignment 1