Contributed by Florian Hardwig
Contributed by Patrick Concannon
Contributed by Onno Hesselink
Contributed by Jörg Hemker
Contributed by Z Crellin