Final project for CS448 at Willamette University with Professor Levenick