Complete First Assignment 

This accomplishes the 3 tasks as laid out in the Readme file.  Some refactoring is needed.