Final project for COS 333 Spring 2014