diff --git a/src/backends/backendsCommon/IBackendInternal.cpp b/src/backends/backendsCommon/IBackendInternal.cpp
index 1cca61e..0806033 100644
--- a/src/backends/backendsCommon/IBackendInternal.cpp
+++ b/src/backends/backendsCommon/IBackendInternal.cpp
@@ -39,6 +39,28 @@
     return IWorkloadFactoryPtr{};
 }
 
+IBackendInternal::IWorkloadFactoryPtr IBackendInternal::CreateWorkloadFactory(
+    const IMemoryManagerSharedPtr& memoryManager,
+    const ModelOptions& modelOptions) const
+{
+    if(modelOptions.empty())
+    {
+        return CreateWorkloadFactory(memoryManager);
+    }
+    return IWorkloadFactoryPtr{};
+}
+
+IBackendInternal::IWorkloadFactoryPtr IBackendInternal::CreateWorkloadFactory(
+    class TensorHandleFactoryRegistry& tensorHandleFactoryRegistry,
+    const ModelOptions& modelOptions) const
+{
+    if(modelOptions.empty())
+    {
+        return CreateWorkloadFactory(tensorHandleFactoryRegistry);
+    }
+    return IWorkloadFactoryPtr{};
+}
+
 IBackendInternal::IBackendContextPtr IBackendInternal::CreateBackendContext(const IRuntime::CreationOptions&) const
 {
     return IBackendContextPtr{};
