CS440 Assignment 2