     }
     
     // MARK: paging methods
-    
-    open func setCurrentPage(_ currentPage: Int, animated: Bool) {
-        var pageOffset = currentPage
+
+    /**
+     Change the current page
+     - parameter newPage: new page
+     - parameter animated: true if animate the change
+     */
+    open func setCurrentPage(_ newPage: Int, animated: Bool) {
+        var pageOffset = newPage
         if circular {
             pageOffset += 1
         }
         
         self.setScrollViewPage(pageOffset, animated: animated)
     }
-    
-    open func setScrollViewPage(_ scrollViewPage: Int, animated: Bool) {
+
+    /**
+     Change the scroll view page. This may differ from `currentPage` as circular slider has two more dummy pages at indexes 0 and n-1 used to fluently scroll between first and last item.
+     - parameter newScrollViewPage: new scroll view page
+     - parameter animated: true if animate the change
+     */
+    open func setScrollViewPage(_ newScrollViewPage: Int, animated: Bool) {
         if scrollViewPage < scrollViewImages.count {
-            self.scrollView.scrollRectToVisible(CGRect(x: scrollView.frame.size.width * CGFloat(scrollViewPage), y: 0, width: scrollView.frame.size.width, height: scrollView.frame.size.height), animated: animated)
-            self.setCurrentPageForScrollViewPage(scrollViewPage)
+            self.scrollView.scrollRectToVisible(CGRect(x: scrollView.frame.size.width * CGFloat(newScrollViewPage), y: 0, width: scrollView.frame.size.width, height: scrollView.frame.size.height), animated: animated)
+            self.setCurrentPageForScrollViewPage(newScrollViewPage)
         }
     }
     

    fileprivate var slideshowTimer: Timer?
    fileprivate var scrollViewImages = [InputSource]()

    open fileprivate(set) var slideshowTransitioningDelegate: ZoomAnimatedTransitioningDelegate?

    // MARK: - Life cycle

        setTimerIfNeeded()
    }

    /**
     Open full screen slideshow
     - parameter controller: Controller to present the full screen controller from
     - returns: FullScreenSlideshowViewController instance
     */
    @discardableResult
    open func presentFullScreenController(from controller:UIViewController) -> FullScreenSlideshowViewController {
        let fullscreen = FullScreenSlideshowViewController()
