give ID generate function a better name