Programming Assignment 2 Version 1