CSC 667 Final Project