CPSC430 group 30 project