 	}
 	
 	var value: CGFloat? {
-		let size = computeItemSize()
-		let w = size.width
-		if w < 0.1 {
+		let scale = model.scaleRounded
+		if scale < 0.1 {
 			return nil
 		}
+		
 		let halfWidth = collectionView.bounds.width / 2
 		let midX = collectionView.contentOffset.x + halfWidth
-		let x: CGFloat = midX / w
+		let x: CGFloat = midX / scale
 		return x
 	}
 	
 	func scrollToValue(value: CGFloat) {
-		let size = computeItemSize()
-		let w = size.width
-		if w < 0.1 {
+		let scale = model.scaleRounded
+		if scale < 0.1 {
 			return
 		}
 		
 		let halfWidth = collectionView.bounds.width / 2
-		let offsetX: CGFloat = (w * value) - halfWidth
-//		collectionView.contentOffset
+		let offsetX: CGFloat = round((scale * value) - halfWidth)
 		collectionView.setContentOffset(CGPoint(x: offsetX, y: 0), animated: false)
 	}
 	

	func handlePinch(gesture: UIPinchGestureRecognizer) {
		if gesture.state == .Began {
			originalScale = model.scale
		}
		if gesture.state == .Changed {
			let originalValue: CGFloat? = self.value
			
			var scale = originalScale * gesture.scale
			if scale < 0.0 {
				scale = 0.01

class ScientificSliderViewController2: UIViewController, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, UIScrollViewDelegate {
	
	var originalScale: CGFloat = 1.0
	var originalValue: CGFloat?

	
	override func loadView() {
		super.loadView()
