Author: revised edition) Evan Hunsberger (compiler