Contributed by Jan Fromm
Contributed by Ludwig Übele
Contributed by Florian Hardwig
Contributed by Stephen Coles