Contributed by Garrison Martin
Contributed by Stephen Coles
Contributed by Yves Peters
Contributed by Robert King