maxwell's solution to Programming Assignment 2