20061006 : first version.
20100303 : Completely revised version with incompatible API.
