CS354 Assignment 5