Contributed by Florian Hardwig
Contributed by Tereza Bettinardi
Contributed by Dimitris Kottas
Contributed by Stephen Coles