     @type Matrix
     ###
     scale: (sx, sy, aboutPoint) ->
-      this.concat(Matrix.scale(sx, sy, aboutPoint))
+      @concat(Matrix.scale(sx, sy, aboutPoint))
 
     ###*
     Returns the result of applying the geometric transformation represented by the 

    @type Matrix
    ###
    rotate: (theta, aboutPoint) ->
      this.concat(Matrix.rotation(theta, aboutPoint))

    ###*
    Returns a new matrix that corresponds this matrix multiplied by a

    ###
    transformPoint: (point) ->
      Point(
        @a * point.x + @c * point.y + @tx,
        @b * point.x + @d * point.y + @ty
      )

    ###*
