Final project for CSCI E-15