CSPC 304 Project