EECS583 final project