UBC CPSC 410 Project