Author: Andy Oram
Alternate names: Andrew Oram