 			z: Math.sqrt(m.m31*m.m31 + m.m32*m.m32 + m.m33*m.m33)
 		
 		# http://blog.bwhiting.co.uk/?p=26
-		# Todo: There is still a bug here, where it sometimes rotates in reverse
+		# Todo: There is still a bug here, where it sometimes rotations in reverse
 		result.rotation =
 			x: -Math.atan2(m.m32/result.scale.z, m.m33/result.scale.z)
 			y: Math.asin(m.m31/result.scale.z)

		# result =
		# 	translation: d.translate
		# 	scale: d.scale
		# 	rotation: d.rotate
		# 
		# return result
		

		set: (value) -> @_scaleX = @_scaleY = value


	@define "rotationX",
		get: -> @_rotationX or 0
		set: (value) -> @_rotationX = value
	
	@define "rotationY",
		get: -> @_rotationY or 0
		set: (value) ->
			@_rotationY = value
	
	@define "rotationZ",
		get: -> @_rotationZ or 0
		set: (value) -> 
			@_rotationZ = value
	
	@define "rotation",
		get: -> @rotationZ
		set: (value) -> 
			@rotationZ = value

	decompose: (m) ->
		
