Merge pull request #72 from sourishkrout/master

Rewrite to allow transparent ID generation.