Contributed by Julian Grönberg
Contributed by Radek Kocjan
Contributed by Soimadou Ibrahim-Aliamane
Contributed by Florian Hardwig