Final project for CSC 111