Initial version, almost identical with the version on Sourceforge.