Contributed by Florian Hardwig
Contributed by Lucille J Knight
Contributed by Andy Delgado
Contributed by Andreas Seidel
Contributed by Stephen Coles