add idgenerator