CPSC471 Project