add unique generator