diff --git a/include/aidge/operator/DepthToSpace.hpp b/include/aidge/operator/DepthToSpace.hpp
index 05d2b2e07bb63c4889f09a072dad7630f18fc708..bca88db7e188e0aef93b3650a71ccd28f8803bb6 100644
--- a/include/aidge/operator/DepthToSpace.hpp
+++ b/include/aidge/operator/DepthToSpace.hpp
@@ -97,15 +97,17 @@ public:
     }
 };
 
-std::shared_ptr<Node> DepthToSpace(const std::uint32_t blockSize,
+inline std::shared_ptr<Node> DepthToSpace(const std::uint32_t blockSize,
                                     const DepthToSpace_Op::Mode mode = DepthToSpace_Op::Mode::CRD,
-                                    const std::string& name = "");
+                                    const std::string& name = "") {
+    return std::make_shared<Node>(std::make_shared<DepthToSpace_Op>(blockSize, mode), name);
+}
 
 }  // namespace Aidge
 
 namespace {
 template <>
-const char *const EnumStrings<Aidge::DepthToSpaceAttr>::data[] = { "BlockSize", "Mode" };
+const char *const EnumStrings<Aidge::DepthToSpaceAttr>::data[] = { "block_size", "mode" };
 }
 
 #endif //AIDGE_CORE_OPERATOR_DEPTHTOSPACE_H_
diff --git a/src/operator/DepthToSpace.cpp b/src/operator/DepthToSpace.cpp
index 374e7a1c7ac4f596bc88097f37a87b77b51c0b67..fa3d53fd3d2c09094bfec859e51e145cda468f3f 100644
--- a/src/operator/DepthToSpace.cpp
+++ b/src/operator/DepthToSpace.cpp
@@ -57,6 +57,17 @@ void Aidge::DepthToSpace_OpImpl::forward() {
 
 const std::string Aidge::DepthToSpace_Op::Type = "DepthToSpace";
 
+Aidge::DepthToSpace_Op::DepthToSpace_Op(const DepthToSpace_Op& op)
+    : OperatorTensor(op),
+      mAttributes(op.mAttributes)
+{
+    if (op.mImpl) {
+        SET_IMPL_MACRO(DepthToSpace_Op, *this, op.backend());
+    } else {
+        mImpl = nullptr;
+    }
+}
+
 
 bool Aidge::DepthToSpace_Op::forwardDims(bool /*allowDataDependency*/) {
     if (inputsAssociated()) {