Contributed by David Croy
Contributed by Stephen Coles
Contributed by Rob Mientjes
Contributed by Frank E. Blokland