CMPSC 473 Project 2