CS5003 Assignment2