Project 5 for CS 311