Contributed by Florian Hardwig
Contributed by Bjorn Johansson
Contributed by Gareth Hague
Contributed by Jaap Smit
Contributed by Ania Nowak