Class project for CSE 31 at UC Merced.