Final project for cs351