updated identifier generation