CS470 midterm project