COMP1927 Assignment 2