CP3307 Assignment 2