COMP 3000 Assignment 2