CS245 Final Project