Midterm project for CSI-281