This project was completed as part of CS 322 at the University of Oregon. Base project structure provided by course instructors.