Final project for CS265, Fall 2014