 	}
 	
 }
+
+extension STBTableViewIndex {
+	
+	fileprivate func hapticFeedbackSetup() {
+		if #available(iOS 10.0, *) {
+			let feedbackGenerator = UISelectionFeedbackGenerator()
+			feedbackGenerator.prepare()
+			
+			self.feedbackGenerator = feedbackGenerator
+		}
+	}
+	
+	fileprivate func hapticFeedbackSelectionChanged() {
+		if #available(iOS 10.0, *) {
+			if let feedbackGenerator = self.feedbackGenerator as? UISelectionFeedbackGenerator {
+				feedbackGenerator.selectionChanged()
+				feedbackGenerator.prepare()
+			}
+		}
+	}
+	
+	fileprivate func hapticFeedbackFinalize() {
+		if #available(iOS 10.0, *) {
+			self.feedbackGenerator = nil
+		}
+	}
+	
+}

				if newIndex != currentIndex {
					currentIndex = newIndex
					delegate?.tableViewIndexChanged(currentIndex, title: currentTitle)
				}
			}
		}

	}
	
	open override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
		hapticFeedbackSetup()
		let touch = touches.first
		if let location = touch?.location(in: self) {
			setNewIndex(point: location)
