COMP3550 Assignment 1 take 2