COMP333 Assignment 3