Contributed by Florian Hardwig
Contributed by Giles Booth
Contributed by Patrice Barnabé
Contributed by Stephen Coles