My course project for CS290I in UCSB