diff --git a/compute_kernel_writer/src/TensorOperand.cpp b/compute_kernel_writer/src/TensorOperand.cpp
new file mode 100644
index 0000000..5ad24c6
--- /dev/null
+++ b/compute_kernel_writer/src/TensorOperand.cpp
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2023 Arm Limited.
+ *
+ * SPDX-License-Identifier: MIT
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include "ckw/TensorOperand.h"
+#include "src/ITensor.h"
+
+namespace ckw
+{
+
+TensorOperand::TensorOperand(ITensor &tensor)
+    : _tensor(tensor)
+{
+}
+
+const TensorInfo &TensorOperand::info() const
+{
+    return _tensor.info();
+}
+
+TileOperand TensorOperand::stride0()
+{
+    return TileOperand(_tensor.component(TensorComponentType::Stride0));
+}
+
+TileOperand TensorOperand::stride1()
+{
+    return TileOperand(_tensor.component(TensorComponentType::Stride1));
+}
+
+TileOperand TensorOperand::stride2()
+{
+    return TileOperand(_tensor.component(TensorComponentType::Stride2));
+}
+
+TileOperand TensorOperand::stride3()
+{
+    return TileOperand(_tensor.component(TensorComponentType::Stride3));
+}
+
+TileOperand TensorOperand::stride4()
+{
+    return TileOperand(_tensor.component(TensorComponentType::Stride4));
+}
+
+TileOperand TensorOperand::dim0()
+{
+    return TileOperand(_tensor.component(TensorComponentType::Dim0));
+}
+
+TileOperand TensorOperand::dim1()
+{
+    return TileOperand(_tensor.component(TensorComponentType::Dim1));
+}
+
+TileOperand TensorOperand::dim2()
+{
+    return TileOperand(_tensor.component(TensorComponentType::Dim2));
+}
+
+TileOperand TensorOperand::dim3()
+{
+    return TileOperand(_tensor.component(TensorComponentType::Dim3));
+}
+
+TileOperand TensorOperand::dim4()
+{
+    return TileOperand(_tensor.component(TensorComponentType::Dim4));
+}
+
+TileOperand TensorOperand::dim1_dim2()
+{
+    return TileOperand(_tensor.component(TensorComponentType::Dim1xDim2));
+}
+
+TileOperand TensorOperand::dim1_dim2_dim3()
+{
+    return TileOperand(_tensor.component(TensorComponentType::Dim1xDim2xDim3));
+}
+
+TileOperand TensorOperand::dim2_dim3()
+{
+    return TileOperand(_tensor.component(TensorComponentType::Dim2xDim3));
+}
+
+TileOperand TensorOperand::offset_first_element_in_bytes()
+{
+    return TileOperand(_tensor.component(TensorComponentType::OffsetFirstElement));
+}
+
+} // namespace ckw
\ No newline at end of file
