EECS578 Final Project