Final Project for COMP 426