Created by Robert Grünheit
Contributed by Adrien Menard
Contributed by Clément Le Tulle-Neyret
Contributed by Maxime P.
Contributed by Hee Jin