Project 4 for CS354