Contributed by Florian Hardwig
Contributed by Pirx
Contributed by Michael Chabon
Contributed by Stephen Coles