 			cursor = cursor.successor()
 		}
 
-		let modify = diff > 0
-		if modify {
-			target = target.predecessor()
-		}
+		var target = retString.endIndex.predecessor()
 		while diff > 0 {
 			diff -= 1
 			if retString[target].isSpace() {

				return
			}

			let target = getPosition(cursor, now: retString.endIndex)
			if range.startIndex == range.endIndex {
				checkCursor = nil
				range.endIndex = target

		return (retString, retString.nsRangeFromRange(range))
	}

	func getPosition(start: String.Index) -> String.Index {
		var cursor = start // range position
		var diff = 0

		while strIndex > cursor {
