CS304 Project