             self.setupPages()
             
             // first time set defaule pageIndex
-            self.pageIndex = self.prevScrollingIndex ?? self.prevPageIndex ?? self.defaultPage
+            self.initWithPageIndex(self.pageIndex ?? self.defaultPage)
             self.isStarted = true
             
             // load pages

        contentSectionScrollView.setContentOffset(contentSectionScrollView.contentOffset, animated: false)
    }
    
    private func setupPages() {
        // clear all caches
        cachedPageTabs.removeAll()

    
    // scrolling animation stop with decelerating
    public func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
        moveToIndex(properPageIndex(), animated: true)
    }
    
    // scrolling animation stop without decelerating
    public func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) {
        if (!decelerate) {
            moveToIndex(properPageIndex(), animated: true)
        }
    }
    
