diff --git a/hog/operator_generation/loop_strategies.py b/hog/operator_generation/loop_strategies.py
index c49aad6a55bda5fd3c1772bd41ba38f8ea0e101a..5ecac2e05b90d10e6f5e70bd78cf6527d242a3d1 100644
--- a/hog/operator_generation/loop_strategies.py
+++ b/hog/operator_generation/loop_strategies.py
@@ -226,47 +226,57 @@ class FUSEDROWS(LoopStrategy):
         )
         super(FUSEDROWS, self).__init__()
 
-    def create_loop(self, dim, element_index, micro_edges_per_macro_edge):
+    def create_loop(
+        self,
+        ctx: KernelCreationContext,
+        dim: int,
+        micro_edges_per_macro_edge: int,
+        loop_bodies: Dict[Union[FaceType, CellType], PsBlock],
+        pre_loop_stmts: Dict[Union[FaceType, CellType], PsBlock] = {},
+    ) -> PsBlock:
         """create a single loop with and x-dim loop for each micro element type in the innermost dimension."""
-        element_loops = create_micro_element_loops(dim, micro_edges_per_macro_edge)
-        (fused_loop, bodies) = fuse_loops_over_simplex(
-            [elem_loop for elem_loop in element_loops.values()], 1, dim
+        raise NotImplementedError(
+            "FUSEDROWS loop strategy has not been adapted to the new backend and is to be reimplemented in a more flexible manner (think arbitrary loop blocking)."
         )
-        assert len(bodies) == 2 * 3 ** (dim - 2)
-        if dim == 2:
-            element_type: Union[Type[FaceType], Type[CellType]] = FaceType
-        else:
-            element_type = CellType
-        self.bodies = {
-            eType: body
-            for eType, body in zip([eType for eType in element_type], bodies)
-        }
-
-        return fused_loop
-
-    def add_body_to_loop(self, loop, body, element_type):
-        body = Block(body)
-        self.bodies[element_type].parent.body = body
-        body.parent = self.bodies[element_type].parent
-        self.bodies[element_type] = body
-
-    def add_preloop_for_loop(self, loops, preloop_stmts, element_type):
-        if not isinstance(loops, list):
-            loops = [loops]
-        preloop_stmts_lhs_subs = {
-            stmt.lhs: get_element_replacement(stmt.lhs, element_type)
-            for stmt in preloop_stmts
-        }
-
-        body = self.bodies[element_type]
-        assert isinstance(body, Block), f"Encountered body that is not a Block: {body}"
-        body.fast_subs(preloop_stmts_lhs_subs)
-
-        new_preloop_stmts = [
-            stmt.fast_subs(preloop_stmts_lhs_subs) for stmt in preloop_stmts
-        ]
-
-        return new_preloop_stmts + loops
+    #     element_loops = create_micro_element_loops(dim, micro_edges_per_macro_edge)
+    #     (fused_loop, bodies) = fuse_loops_over_simplex(
+    #         [elem_loop for elem_loop in element_loops.values()], 1, dim
+    #     )
+    #     assert len(bodies) == 2 * 3 ** (dim - 2)
+    #     if dim == 2:
+    #         element_type: Union[Type[FaceType], Type[CellType]] = FaceType
+    #     else:
+    #         element_type = CellType
+    #     self.bodies = {
+    #         eType: body
+    #         for eType, body in zip([eType for eType in element_type], bodies)
+    #     }
+
+    #     return fused_loop
+
+    # def add_body_to_loop(self, loop, body, element_type):
+    #     body = Block(body)
+    #     self.bodies[element_type].parent.body = body
+    #     body.parent = self.bodies[element_type].parent
+    #     self.bodies[element_type] = body
+
+    # def add_preloop_for_loop(self, loops, preloop_stmts, element_type):
+    #     if not isinstance(loops, list):
+    #         loops = [loops]
+    #     preloop_stmts_lhs_subs = {
+    #         stmt.lhs: get_element_replacement(stmt.lhs, element_type)
+    #         for stmt in preloop_stmts
+    #     }
+
+    #     body = self.bodies[element_type]
+    #     assert isinstance(body, Block), f"Encountered body that is not a Block: {body}"
+    #     body.fast_subs(preloop_stmts_lhs_subs)
+
+    #     new_preloop_stmts = [
+    #         stmt.fast_subs(preloop_stmts_lhs_subs) for stmt in preloop_stmts
+    #     ]
+
+    #     return new_preloop_stmts + loops
 
     def __str__(self):
         return "FUSEDROWS"