make option entity support dynamic options