Programming Assigment 2 Version 1