project for CSE 135 (UCSD)