CSC358 Assignment 2