revamp id gen