Code for Programming Assignment 2