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