Programming Assignment 2 code