Deliverable 4 for CS1699 Fall 2014