       with: (operator)->
         last = @expression.last()
         if last && last.isOperator()
-          @expression.replaceLast(operator)
+          if last instanceof comps.exponentiation
+            if last.power().isBlank()
+              @expression.replaceLast(operator)
+            else
+              @expression.append(operator)
+          else
+            @expression.replaceLast(operator)
         else
           @expression.append(operator)
     class_mixer(_OverrideIfOperatorOrAppend)

          new_last = last.concatenate(@val)
          expression.replaceLast(new_last)
        else if (last && last instanceof comps.exponentiation) or (last && !last.isOperator())
          @appendImplicitMultiplication(expression).append(number_with_this_val)
        else
          expression.append(number_with_this_val)


      initialize: (@opts={})->

      baseExpression: (base)->
        comps.expression.buildUnlessExpression base

      powerExpression: ()->
        power = if @opts.power
