id_gen added