CPSC 471 Project