Contributed by Stefan Hattenbach
Contributed by Jackson Willits
Contributed by (Harald) Peter Ström
Contributed by Stephen Coles