CS1501 Final Project