diff --git a/sandbox/multicolumn/run_al.py b/sandbox/multicolumn/run_al.py
index edafcc30f0bcc076337bff6efcb3010da425610e..6c33297f993aa889fc596d2cd5f33ab8871d24f7 100644
--- a/sandbox/multicolumn/run_al.py
+++ b/sandbox/multicolumn/run_al.py
@@ -2,10 +2,10 @@
 # from apprentice.agents.pyrete_agent import PyReteAgent
 from apprentice.agents.WhereWhenHowNoFoa import WhereWhenHowNoFoa
 from apprentice.working_memory.representation import Sai
-from py_rete import Production
-from py_rete import Fact
-from py_rete import V
-from py_rete.conditions import Filter
+# from py_rete import Production
+# from py_rete import Fact
+# from py_rete import V
+# from py_rete.conditions import Filter
 
 from tutorenvs.multicolumn import MultiColumnAdditionSymbolic
 
@@ -50,97 +50,97 @@ def run_training(agent, n=10):
             p += 1
 
 
-@Production(
-    Fact(id=V('selection'), type="TextField", contentEditable=True, value="")
-    & Fact(value=V('value')) & Filter(
-        lambda value: value != "" and is_number(value) and float(value) < 10))
-def update_field(selection, value):
-    return Sai(selection, 'UpdateField', {'value': value})
-
-
-def is_number(v):
-    try:
-        float(v)
-        return True
-    except Exception:
-        return False
-
-
-@Production(
-    V('f1') << Fact(id=V('id1'), value=V('v1'))
-    & V('f2') << Fact(id=V('id2'), value=V('v2'))
-    & Filter(lambda id1, id2, v1, v2: v1 != "" and is_number(v1) and v2 != ""
-             and is_number(v2) and id1 < id2))
-def add_values(net, f1, f2, id1, id2, v1, v2):
-    if 'depth' not in f1:
-        depth1 = 0
-    else:
-        depth1 = f1['depth']
-    if depth1 > 1:
-        return
-
-    if 'depth' not in f2:
-        depth2 = 0
-    else:
-        depth2 = f2['depth']
-
-    if depth1 + depth2 > 1:
-        return
-
-    print("trying to add values")
-    v1 = float(v1)
-    v2 = float(v2)
-    v3 = v1 + v2
-    if v3 == round(v3):
-        v3 = int(v3)
-    f = Fact(id="({}+{})".format(id1, id2),
-             value=str(v3),
-             depth=max(depth1, depth2) + 1)
-    net.add_fact(f)
-
-
-@Production(
-    V('f1') << Fact(id=V('id1'), value=V('v1'))
-    & Filter(lambda id1, v1: v1 != "" and is_number(v1) and float(v1) >= 10))
-def mod10_value(net, f1, id1, v1):
-    if 'depth' not in f1:
-        depth1 = 0
-    else:
-        depth1 = f1['depth']
-    if depth1 > 1:
-        return
-
-    print("trying to mod10 value")
-    v1 = float(v1)
-    v2 = v1 % 10
-    if v2 == round(v2):
-        v2 = int(v2)
-    f = Fact(id="({}%10)".format(id1), value=str(v2), depth=depth1 + 1)
-    net.add_fact(f)
-
-    print(net)
-
-
-@Production(
-    V('f1') << Fact(id=V('id1'), value=V('v1'))
-    & Filter(lambda id1, v1: v1 != "" and is_number(v1) and float(v1) >= 10))
-def div10_value(net, f1, id1, v1):
-    if 'depth' not in f1:
-        depth1 = 0
-    else:
-        depth1 = f1['depth']
-    if depth1 > 1:
-        return
-
-    print("trying to div10 value")
-    v1 = float(v1)
-    v2 = v1 // 10
-    if v2 == round(v2):
-        v2 = int(v2)
-    f = Fact(id="({}//10)".format(id1), value=str(v2), depth=depth1 + 1)
-    net.add_fact(f)
-
-    print(net)
+# @Production(
+#     Fact(id=V('selection'), type="TextField", contentEditable=True, value="")
+#     & Fact(value=V('value')) & Filter(
+#         lambda value: value != "" and is_number(value) and float(value) < 10))
+# def update_field(selection, value):
+#     return Sai(selection, 'UpdateField', {'value': value})
+# 
+# 
+# def is_number(v):
+#     try:
+#         float(v)
+#         return True
+#     except Exception:
+#         return False
+
+
+# @Production(
+#     V('f1') << Fact(id=V('id1'), value=V('v1'))
+#     & V('f2') << Fact(id=V('id2'), value=V('v2'))
+#     & Filter(lambda id1, id2, v1, v2: v1 != "" and is_number(v1) and v2 != ""
+#              and is_number(v2) and id1 < id2))
+# def add_values(net, f1, f2, id1, id2, v1, v2):
+#     if 'depth' not in f1:
+#         depth1 = 0
+#     else:
+#         depth1 = f1['depth']
+#     if depth1 > 1:
+#         return
+# 
+#     if 'depth' not in f2:
+#         depth2 = 0
+#     else:
+#         depth2 = f2['depth']
+# 
+#     if depth1 + depth2 > 1:
+#         return
+# 
+#     print("trying to add values")
+#     v1 = float(v1)
+#     v2 = float(v2)
+#     v3 = v1 + v2
+#     if v3 == round(v3):
+#         v3 = int(v3)
+#     f = Fact(id="({}+{})".format(id1, id2),
+#              value=str(v3),
+#              depth=max(depth1, depth2) + 1)
+#     net.add_fact(f)
+# 
+# 
+# @Production(
+#     V('f1') << Fact(id=V('id1'), value=V('v1'))
+#     & Filter(lambda id1, v1: v1 != "" and is_number(v1) and float(v1) >= 10))
+# def mod10_value(net, f1, id1, v1):
+#     if 'depth' not in f1:
+#         depth1 = 0
+#     else:
+#         depth1 = f1['depth']
+#     if depth1 > 1:
+#         return
+# 
+#     print("trying to mod10 value")
+#     v1 = float(v1)
+#     v2 = v1 % 10
+#     if v2 == round(v2):
+#         v2 = int(v2)
+#     f = Fact(id="({}%10)".format(id1), value=str(v2), depth=depth1 + 1)
+#     net.add_fact(f)
+# 
+#     print(net)
+# 
+# 
+# @Production(
+#     V('f1') << Fact(id=V('id1'), value=V('v1'))
+#     & Filter(lambda id1, v1: v1 != "" and is_number(v1) and float(v1) >= 10))
+# def div10_value(net, f1, id1, v1):
+#     if 'depth' not in f1:
+#         depth1 = 0
+#     else:
+#         depth1 = f1['depth']
+#     if depth1 > 1:
+#         return
+# 
+#     print("trying to div10 value")
+#     v1 = float(v1)
+#     v2 = v1 // 10
+#     if v2 == round(v2):
+#         v2 = int(v2)
+#     f = Fact(id="({}//10)".format(id1), value=str(v2), depth=depth1 + 1)
+#     net.add_fact(f)
+# 
+#     print(net)
 
 
 if __name__ == "__main__":