Semester project written by David Lanners.