Contributed by Davide Moschini
Contributed by Arnaud Aubry
Contributed by Giordano Zatta
Contributed by Jayce Wheeled
Contributed by Michael Clasen