add id gen