This module was revised from code written by M. A. Stone (see contributors list). See source code for further information.