COMP4985: Assignment 3