 
     // MARK: private
 
-    private let scrollView: UIScrollView = UIScrollView()
+    private let scrollView = UIScrollView()
 
     private var itemSize: CGFloat {
 

                .map { ItemView(itemSize: itemSize, dotSize: config.dotSize, index: $0) }
        }

        scrollView.contentSize = CGSize(width: itemSize * CGFloat(numberOfPages), height: itemSize)

        let views = scrollView.subviews
        for view in views {
            view.removeFromSuperview()
        }
        for i in 0..<items.count {
            scrollView.addSubview(items[i])
        }

        let size = CGSize(width: itemSize * CGFloat(config.displayCount), height: itemSize)
        let frame = CGRect(origin: .zero, size: size)

        scrollView.frame = frame

        if config.displayCount < numberOfPages {
            scrollView.contentInset = UIEdgeInsets(top: 0, left: itemSize * 2, bottom: 0, right: itemSize * 2)
        } else {
            scrollView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
        }

        setCurrentPage(currentPage: currentPage, animated: false)

        case left, right, stay
    }

    private func behaviorDirection(x: CGFloat) -> Direction {
        
        switch x {
        case let x where x > scrollView.contentOffset.x:
