CS443 Assignment 2