Contributed by Benoît Bodhuin
Contributed by Soimadou Ibrahim-Aliamane
Contributed by Florian Hardwig
Contributed by Jon Ternent