CSCI 4661 Final Project