Project 4 for EECS 285 F13 at the University of Michgan.