diff --git a/aidge_core/unit_tests/test_impl.py b/aidge_core/unit_tests/test_impl.py
index 1a723a04a9f823c87338d479ae260d495db935a1..6e0c1f9b9a0828e266ef3bf19ee75df3e275b282 100644
--- a/aidge_core/unit_tests/test_impl.py
+++ b/aidge_core/unit_tests/test_impl.py
@@ -52,7 +52,7 @@ class test_OperatorImpl(unittest.TestCase):
         self.assertTrue("cpu" in aidge_core.get_keys_ConvOp2D())
         conv = aidge_core.Conv2D(2,2,[1,1], name="Conv0")
         conv.get_operator().set_backend("cpu")
-        conv.get_operator().set_input(0, aidge_core.Tensor(np.arange(9).reshape(1,1,3,3)))
+        conv.get_operator().set_input(0, aidge_core.Tensor(np.arange(18).reshape(1,2,3,3)))
         conv.get_operator().forward()
         self.assertEqual(GLOBAL_CPT, 1)
 
@@ -66,7 +66,7 @@ class test_OperatorImpl(unittest.TestCase):
         conv = aidge_core.Conv2D(2,2,[1,1], name="Conv0")
         model = aidge_core.sequential([conv])
         model.set_backend("cpu")
-        conv.get_operator().set_input(0, aidge_core.Tensor(np.arange(9).reshape(1,1,3,3)))
+        conv.get_operator().set_input(0, aidge_core.Tensor(np.arange(18).reshape(1,2,3,3)))
         conv.get_operator().forward()
         self.assertEqual(GLOBAL_CPT, 1)
 
diff --git a/python_binding/operator/pybind_Operator.cpp b/python_binding/operator/pybind_Operator.cpp
index 4796917fbe34dbf3b7455841c9e3f1c13ca9c64d..e00f70413614a96919c2a068303b3fbc3f6eca8d 100644
--- a/python_binding/operator/pybind_Operator.cpp
+++ b/python_binding/operator/pybind_Operator.cpp
@@ -25,6 +25,7 @@ namespace py = pybind11;
 namespace Aidge {
 void init_Operator(py::module& m){
     py::class_<Operator, std::shared_ptr<Operator>>(m, "Operator")
+    .def("backend", &Operator::backend)
     .def("set_output", py::overload_cast<const IOIndex_t, const std::shared_ptr<Data>&>(&Operator::setOutput), py::arg("outputIdx"), py::arg("data"))
     .def("set_input", py::overload_cast<const IOIndex_t, const std::shared_ptr<Data>&>(&Operator::setInput), py::arg("inputIdx"), py::arg("data"))
     .def("get_raw_output", &Operator::getRawOutput, py::arg("outputIdx"))
diff --git a/python_binding/operator/pybind_Transpose.cpp b/python_binding/operator/pybind_Transpose.cpp
index 4448dff1956964fd4e41d1c28dd7d257f38c3026..63b22608d1737f9a59caffd4517fc0e9cfc4dd91 100644
--- a/python_binding/operator/pybind_Transpose.cpp
+++ b/python_binding/operator/pybind_Transpose.cpp
@@ -28,7 +28,7 @@ namespace Aidge {
 void declare_Transpose(py::module &m) {
   const std::string pyClassName("TransposeOp");
   py::class_<Transpose_Op, std::shared_ptr<Transpose_Op>, Attributes, OperatorTensor>(
-    m, ("TransposeOp").c_str(), py::multiple_inheritance())
+    m, "TransposeOp", py::multiple_inheritance())
   .def("get_inputs_name", &Transpose_Op::getInputsName)
   .def("get_outputs_name", &Transpose_Op::getOutputsName)
   .def("attributes_name", &Transpose_Op::staticGetAttrsName);
diff --git a/src/operator/Concat.cpp b/src/operator/Concat.cpp
index 68f37bc54261d711bd821890a98dc269d45e24ae..ee06ce69b135e11fe3ed5be8fa9f501debb6acd5 100644
--- a/src/operator/Concat.cpp
+++ b/src/operator/Concat.cpp
@@ -45,11 +45,11 @@ void Aidge::Concat_OpImpl::forward() {
     }
 
     std::size_t oIndexStart = 0;
-    std::size_t oIndex = 0;
+    // std::size_t oIndex = 0;
     for (std::size_t inputId = 0; inputId < op.nbInputs(); ++inputId) {
-        oIndex = oIndexStart;
+        // oIndex = oIndexStart;
         const DimSize_t iOffset = prodDimHigher*op.getInput(inputId)->dims()[axis];
-        for (std::size_t iIndex = 0; iIndex < prodDimLower; ++iIndex) {
+        for (std::size_t iIndex = 0, oIndex = oIndexStart; iIndex < prodDimLower; ++iIndex) {
             op.getOutput(0)->getImpl()->copy(op.getInput(inputId)->getImpl()->rawPtr(iIndex*iOffset), iOffset, oIndex);
             oIndex += prodDimHigher*outputAxisValue;
         }