         }
         
         // consider left edge menu as center position
-        guard currentPage != 0 || contentScrollView.contentSize.width >= (pageWidth * CGFloat(visiblePagingViewNumber)) else { return PagingViewPosition(order: order + 1) }
-        return PagingViewPosition(order: order)
+        guard currentPage == 0 && contentScrollView.contentSize.width < (pageWidth * CGFloat(visiblePagingViewNumber)) else { return PagingViewPosition(order: order) }
+        return PagingViewPosition(order: order + 1)
     }
     
     private func targetPage(tappedPage tappedPage: Int) -> Int {

        }

        delegate?.willMoveToMenuPage?(currentPage)
        currentViewController = pagingViewControllers[currentPage]
        contentScrollView.contentOffset.x = currentViewController.view!.frame.minX


    
    // MARK: - UISCrollViewDelegate
    
    public func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
        guard scrollView.isEqual(contentScrollView) else { return }

        let position = currentPagingViewPosition()
        
        // set new page number according to current moving direction
        switch position {
        case .Left: currentPage = previousIndex
