Completed Programming Assignment 2