             ]
           }
     ###
-
-  ###
-  describe '/ contextual ::this iterators /', ->
-
-    parse """
-            .node[height] >= .node(.inports)[height];
-            .box {
-              width: == ::this(.header)[width];
-            }
-          """
-        ,
-          {
-            commands: [
-              ['var','.box[width]', 'width', ['$class', 'box']]
-              ['var','.box(.header)[width]', 'width', ['$class', 'header', ['$class', 'box']]]
-              ['foreach', ['$class', 'box'],
-              ['var','#box[intrinsic-width]', 'intrinsic-width', ['$id', 'box']]
-              ['eq',['get','#box[width]','#box'],['get','#box[intrinsic-width]','#box']]
-              ['var','[grid-col-width]']
-              ['eq',['get','[grid-col-width]'],['get','#box[intrinsic-width]','#box']]
-            ]
-          }
-  ###
+  
+  
+  # Prop Normalization
+  # ====================================================================
+
+  describe "/* Normalize Prop Names */", ->
+
+    parse """
+            #b[left] == [left];
+            [left-col] == [col-left];
+          """
+        ,
+          {
+            commands: [
+              ['eq', ['get$', 'x', ['$id', 'b']], ['get', '[left]']]
+              ['eq', ['get', '[left-col]'], ['get', '[col-left]']]
+            ]
+          }
+    parse """
+            #b[top] == [top];
+          """
+        ,
+          {
+            commands: [
+              ['eq',['get$','y',['$id','b']],['get','[top]']]
+            ]
+          }
+
+    parse """
+            [right] == ::window[right];
+          """
+        ,
+          {
+            commands: [
+              ['eq',['get','[right]'],['get$','width',['$reserved','window']]]
+            ]
+          }
+    parse """
+            [left] == ::window[left];
+          """
+        ,
+          {
+            commands: [
+              ['eq', ['get','[left]'], ['get$','x',['$reserved','window']]]
+            ]
+          }
+    parse """
+            [top] == ::window[top];
+          """
+        ,
+          {
+            commands: [
+              ['eq', ['get', '[top]'], ['get$','y',['$reserved','window']]]
+            ]
+          }
+    parse """
+            [bottom] == ::window[bottom];
+          """
+        ,
+          {
+            commands: [
+              ['eq', ['get','[bottom]'], ['get$','height',['$reserved','window']]]
+            ]
+          }
+
+    parse """
+            #b[cx] == [cx];
+          """
+        ,
+          {
+            commands: [
+              ['eq', ['get$', 'center-x',['$id', 'b']], ['get', '[cx]']]
+            ]
+          }
+    parse """
+            #b[cy] == [cy];
+          """
+        ,
+          {
+            commands: [
+              ['eq', ['get$','center-y',['$id', 'b']], ['get', '[cy]']]
+            ]
+          }
+  
+  
 
   # 2D
   # ====================================================================

            ]
          }
    



  # Virtual Elements

              ['eq', ['number', 2], ['number', 3]]
              ['lt', ['number', 3], ['number', 4]]
              ['eq', ['number', 4], ['number', 5]]
            ]
          }

