CS 311: Project 3