CS443 Assignment 3