Contributed by Gareth Hague
Contributed by Florian Hardwig
Contributed by Alex Slobzheninov
Contributed by Stephen Coles
Contributed by Peiran Tan
Contributed by Luke Freeman
Contributed by tobias schererbauer
Contributed by NaN
Contributed by Ten Ten Team