CS 311: Project 4