Contributed by Florian Hardwig
Contributed by Gregory Shutters
Contributed by Daniel McQueen (TDF)
Contributed by Chris Purcell