Solution to Programming Assignment 2

First attempt, without comments yet