add CodeIdGenerator