This work was written mostly by Walter Landry.

Mark A. Flacy contributed the menu code and a minor bug fix.
