COMP426 Final Project