Contributed by Florian Hardwig
Contributed by Stephen Coles
Contributed by David Loewe
Contributed by Ivo Gabrowitsch
Contributed by Jan Middendorp