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

    ###
    concat: (matrix) ->
      Matrix(
        this.a * matrix.a + this.c * matrix.b,
        this.b * matrix.a + this.d * matrix.b,
        this.a * matrix.c + this.c * matrix.d,
        this.b * matrix.c + this.d * matrix.d,
        this.a * matrix.tx + this.c * matrix.ty + this.tx,
        this.b * matrix.tx + this.d * matrix.ty + this.ty
      )

    ###*

    @type Matrix
    ###
    scale: (sx, sy, aboutPoint) ->
      @concat(Matrix.scale(sx, sy, aboutPoint))

    ###*
    Returns the result of applying the geometric transformation represented by the 
