Contributed by Hannes Brischke
Contributed by Stan Hema
Contributed by Boris Meister
Contributed by NaN
Contributed by Paul Eslage