cse170 final project