         comps.expression.build expression: [comps.number.build(value: val*val)]
     class_mixer(Square)
 
-    class Decimal
-      invoke: (expression)->
+    class AppendDecimal
+
+      onFinalExpression: (expression)->
         last = expression.last()
         if last instanceof comps.number
           new_last = last.clone()

          new_last = comps.number.build(value: 0)
          new_last = new_last.futureAsDecimal()
          expression.append(new_last)
    class_mixer(Decimal)

    class AppendNumber
      initialize: (@opts)->

        logger.info("CloseSub#invoke")
        _FinalOpenSubExpressionApplcation.build(
          (expression)-> expression.close()).invoke(expression)

    class_mixer(CloseSub)

    class Pi
      invoke: (expression)->
