 			t: touchEvent.timeStamp
 
 		# Store original layer position
-		@_position =
+		@_layerStartPoint =
 			x: @layer.x
 			y: @layer.y
 		
-		# if @bounce
-		# 	@_position = @_constrainPosition(@_position, @constraints, 1 / @overdragScale)
+		if @bounce
+			@_layerStartPoint = @_constrainPosition(@_layerStartPoint, @constraints, 1 / @overdragScale)
 
 		# Store start cursor position
-		@_start =
+		@_cursorStartPoint =
 			x: touchEvent.clientX
 			y: touchEvent.clientY
 
 		# Store cursor/layer offset
-		@_offset =
-			x: touchEvent.clientX - @_position.x
-			y: touchEvent.clientY - @_position.y
+		@_layerCursorOffset =
+			x: touchEvent.clientX - @_layerStartPoint.x
+			y: touchEvent.clientY - @_layerStartPoint.y
 
 		# Store the current layer scale so we can correct movement for it
 		@_screenScale =

		# Pixel align all moves
		if @pixelAlign
			point = 
				x: parseInt(@_start.x + correctedDelta.x - @_offset.x)
				y: parseInt(@_start.y + correctedDelta.y - @_offset.y)

		# Constraints
		point = @_constrainPosition(point, @_constraints) if @_constraints

			t: touchEvent.timeStamp

		delta =
			x: touchEvent.clientX - @_cursorStartPoint.x
			y: touchEvent.clientY - @_cursorStartPoint.y

		# Correct for current drag speed and scale
		correctedDelta =
