COMP408 Project 3 (Final Project)