Contributed by Edgar Walthert
Contributed by Pat Hølm
Contributed by Stephen Coles
Contributed by Petr Kudlacek