use auto-generated id whenever possible