         self.indicatorLeftMargin?.constant = interpolatedXOrigin
     }
     
-    private func scrollPositionToVisible(_ position: CGFloat,
-                                         direction: PageboyViewController.NavigationDirection) {
-        // TODO
+    private func scrollIndicatorPositionToVisible() {
+        
+        let indicatorXOffset = self.indicatorLeftMargin?.constant ?? 0.0
+        let indicatorWidthOffset = (self.bounds.size.width - (self.indicatorWidth?.constant ?? 0)) / 2.0
+        let maxOffset = self.scrollView.contentSize.width - self.bounds.size.width
+        
+        guard indicatorWidthOffset > 0.0 else {
+            return
+        }
+        
+        let offset = max(0.0, min(maxOffset, indicatorXOffset - indicatorWidthOffset))
+        
+        self.scrollView.contentOffset = CGPoint(x: offset, y: 0.0)
     }
 }

            self.updateConstraints(self.horizontalMarginConstraints,
                                   withValue: interItemSpacing)
        }
    }
    
    //

                             lowerButton: lowerButton,
                             upperButton: upperButton)
        
        self.scrollIndicatorPositionToVisible()
    }
    
    //
