CPSC 310 Term Project