COMP9417 Assignment 2