change the way ID is generated