COMP3217 Assignment 2