Assignment 2 for CS3210