         @klass.build base: @base(), power: power
 
       toString: ->
-        "Exp(b: #{@base().toString()}, p: #{@power().toString()})"
+        "^(b: #{@base().toString()}, p: #{@power().toString()})"
 
       isPowerOpen: -> @power().isOpen()
 
     class_mixer(Exponentiation)
 
     class Pi extends ExpressionComponent
-      toString: -> "PI()"
+      toString: -> "PI"
     class_mixer(Pi)
 
     class Addition extends ExpressionComponent
-      toString: -> "Add()"
+      toString: -> "Add"
       isOperator: -> true
     class_mixer(Addition)
 
     class Subtraction extends ExpressionComponent
       isOperator: -> true
-      toString: -> "Sub()"
+      toString: -> "Sub"
     class_mixer(Subtraction)
 
     class Multiplication extends ExpressionComponent
       isOperator: -> true
-      toString: -> "Mult()"
+      toString: -> "Mult"
     class_mixer(Multiplication)
 
     class Division extends ExpressionComponent
       isOperator: -> true
-      toString: -> "Div()"
+      toString: -> "Div"
     class_mixer(Division)
 
     class Blank extends ExpressionComponent
-      toString: -> "Blnk()"
+      toString: -> "Blnk"
     class_mixer(Blank)
 
     components =

        tf = (it)-> it ? "t" : "f"
        subexpressions = _(@expression).chain().map((it)->
          it.toString()).join(", ").value()
        "Expr(o: #{tf @is_open}, e: #{tf @is_error}, exp: [#{subexpressions}])"


    class_mixer(Expression)


      size: ->
        _(@expression).size();

      isBlank: ->
        @size() == 0

      set: (expression)->
        @expression = expression

