Final project for COMP 206