Final project for cs590