diff --git a/include/aidge/aidge_backend_cuda.hpp b/include/aidge/backend/cuda.hpp
similarity index 91%
rename from include/aidge/aidge_backend_cuda.hpp
rename to include/aidge/backend/cuda.hpp
index 57d5f153c6d44eec6afe5bad350e2e882567e042..f1dbc28597660273b346802c48c01de4713ce081 100644
--- a/include/aidge/aidge_backend_cuda.hpp
+++ b/include/aidge/backend/cuda.hpp
@@ -12,6 +12,6 @@
 #ifndef AIDGE_BACKEND_CUDA_IMPORTS_H_
 #define AIDGE_BACKEND_CUDA_IMPORTS_H_
 
-#include "aidge/data/TensorImpl.hpp"
+#include "aidge/backend/cuda/data/TensorImpl.hpp"
 
 #endif /* AIDGE_BACKEND_CUDA_IMPORTS_H_ */
\ No newline at end of file
diff --git a/include/aidge/data/TensorImpl.hpp b/include/aidge/backend/cuda/data/TensorImpl.hpp
similarity index 98%
rename from include/aidge/data/TensorImpl.hpp
rename to include/aidge/backend/cuda/data/TensorImpl.hpp
index fa123443174cffe6b5b81340f56767c8ea7149bf..78403519283789b2ed5fd839d0c08557854c6d5b 100644
--- a/include/aidge/data/TensorImpl.hpp
+++ b/include/aidge/backend/cuda/data/TensorImpl.hpp
@@ -9,7 +9,7 @@
 #include "aidge/utils/Registrar.hpp"
 #include "aidge/utils/Types.h"
 
-#include "aidge/utils/CudaUtils.hpp"
+#include "aidge/backend/cuda/utils/CudaUtils.hpp"
 
 namespace Aidge {
 template <class T>
diff --git a/include/aidge/utils/CudaUtils.hpp b/include/aidge/backend/cuda/utils/CudaUtils.hpp
similarity index 100%
rename from include/aidge/utils/CudaUtils.hpp
rename to include/aidge/backend/cuda/utils/CudaUtils.hpp
diff --git a/python_binding/pybind_backend_cuda.cpp b/python_binding/pybind_backend_cuda.cpp
index 01e682fb47f5360841d54041542307727c8a983c..4b68621b14c2260754dd438d74f059b9f9aa256b 100644
--- a/python_binding/pybind_backend_cuda.cpp
+++ b/python_binding/pybind_backend_cuda.cpp
@@ -1,6 +1,6 @@
 #include <pybind11/pybind11.h>
 // Need to call this header to register every impl
-#include "aidge/aidge_backend_cuda.hpp"
+#include "aidge/backend/cuda.hpp"
 
 namespace py = pybind11;
 
diff --git a/unit_tests/Test_TensorImpl.cpp b/unit_tests/Test_TensorImpl.cpp
index 56e3ee1d306c06e83ce860043253558de74d567b..cad4a1a067d55fe5c8246d09a733f44007886dc0 100644
--- a/unit_tests/Test_TensorImpl.cpp
+++ b/unit_tests/Test_TensorImpl.cpp
@@ -16,7 +16,9 @@
 #include "Test_cuda.hpp"
 
 #include "aidge/data/Tensor.hpp"
-#include "aidge/data/TensorImpl.hpp"
+
+#include "aidge/backend/cpu.hpp"
+#include "aidge/backend/cuda.hpp"
 
 using namespace Aidge;
 
diff --git a/unit_tests/Test_cuda.hpp b/unit_tests/Test_cuda.hpp
index 1d319f06562309038cd94cc65c5c7b2ffae9555f..90f3a9d038c10f80b7841b56aecdc315369bf871 100644
--- a/unit_tests/Test_cuda.hpp
+++ b/unit_tests/Test_cuda.hpp
@@ -1,6 +1,6 @@
 #include <cuda.h>
 #include <cuda_runtime.h>
 
-#include "aidge/utils/CudaUtils.hpp"
+#include "aidge/backend/cuda/utils/CudaUtils.hpp"
 
 void vector_add(float *out, float *a, float *b, int n);