Project 4 for CS 4397