COMP4560 Assignment 5