Final project for CS174A