We, therefore, changed direction and replaced \(G=SL(3,\mathbb {Q}_p)\)  by a product \(G=SL(2,\mathbb {Q}_p)\times SL(2,\mathbb {Q}_q)\) . This time the quotients obtained from congruence lattices in \(G\)  give rise to square complexes. These complexes were shown long ago to be Ramanujan cubical complexes [1]} and the dynamic of walks along them was studied in [2]}.
This time the local intermediate code look like tensor codes (since the link of every vertex is the complete bipartite graph) and there are plenty of tensor codes that are locally testable as mentioned above. A subtle obstacle arose at this point which does not exist in the graph codes of [3]}: one needs to name the squares in such a way that the function defined on the link of an edge \(\lbrace u,v\rbrace \)  will be in or out the code independently if we look at it from the vertex \(u\)  or the vertex \(v\) . It might be that this challenge can be overcome, but at that point, we realized that by changing from these square complexes to the left-right Cayley complexes as defined above, this problem is easily fixed. Moreover, it became also easier to argue about the rate- making the whole paper much simpler than we expected!
