pushing final commented version of Programming Assignment 2