Final project for COMP2068