Final project for fall quarter CS109