This is an application that was implemented as an undergraduate exercise.