Final project for the CS253 Udacity Course