Contributed by Florian Hardwig
Contributed by Jayce Wheeled
Contributed by Stephen Coles
Contributed by Andrei Bocan