University of Michigan EECS 373 Project