Final project for EECS 545