resource id generation