Main author:
Milian Wolff <mail@milianw.de>

Contributions by:
Andrei Nistor <coder.tux@ceata.org>
Arnold Dumas <arnold@dumas.at>
