Contributed by Johannes Pistorius
Contributed by Clemens Hartmann
Contributed by Gareth Hague
Contributed by Grilli Type