Project 3 of CS 303