Contributed by Robert Beatty
Contributed by Stephen Coles
Contributed by Graham Toal
Contributed by Leo Field