Finishes cs3005 midterm.