         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}])"
-
+        "Expression(o: #{tf @is_open}, e: #{tf @is_error}, exp: [#{subexpressions}])"
 
     class_mixer(Expression)
 

        @baseval = opts.base
        @powerval = opts.power
      isOperator: -> true

      base: -> @baseval
      power: -> @powerval


        @klass.build base: @base(), power: power

      toString: ->
        "^(b: #{@base().toString()}, p: #{@power().toString()})"

      isPowerOpen: -> @power().isOpen()

    class_mixer(Exponentiation)

    class Pi extends ExpressionComponent
      toString: -> "PI"
    class_mixer(Pi)

    class Addition extends ExpressionComponent
      toString: -> "Add"
      isOperator: -> true
    class_mixer(Addition)

    class Subtraction extends ExpressionComponent
      isOperator: -> true
      toString: -> "Sub"
    class_mixer(Subtraction)

    class Multiplication extends ExpressionComponent
      isOperator: -> true
      toString: -> "Mult"
    class_mixer(Multiplication)

    class Division extends ExpressionComponent
      isOperator: -> true
      toString: -> "Div"
    class_mixer(Division)

    class Blank extends ExpressionComponent
      toString: -> "Blnk"
    class_mixer(Blank)

    components =
