Final Project for CSC 412