using OperatorDescriptor instead of operator class