Version 1 of Final Project for CSCI-E56