CS 109 Final Project - Shumiao Ouyang and Richard Kim