CSCI N300 Project 3