Add regenerateId() method