This entry was withdrawn by its author, but he gave permission to spread the source code.
-adok