Final Project for CAP5512 (Spring 2013)