Original author:
    Martin Matusiak <numerodix@gmail.com>

Contributors:
    Daniel Axtens <daniel@axtens.net>
    Hypnoes <hypnoes@qq.com>
    Michael Overmeyer <m.overmeyer@yahoo.ca>
