Solution for Programming Assignment 2