Final Project for CMPS20