Final project for CS 2110. Fairly proud of the code, so it's up here.