Author: David Ramshaw
Alternate names: Ramshaw.