CMPT474 Assignment2