CS454 Assignment 3