Contributed by Florian Hardwig
Contributed by Andrea Nienhaus
Contributed by verena gerlach
Contributed by JAF