CS171 Final Project