CS322 Assignment 5