   open func scroll(to view: UIView, animated: Bool) {
     
     let targetRect = view.convert(view.bounds, to: self)
-    collectionView.scrollRectToVisible(targetRect, animated: true)
+    scrollRectToVisible(targetRect, animated: true)
   }
   
   open func scroll(to view: UIView, at position: UICollectionViewScrollPosition, animated: Bool) {
     if let index = views.index(of: view) {
-      collectionView.scrollToItem(at: IndexPath(item: index, section: 0), at: position, animated: animated)
+      scrollToItem(at: IndexPath(item: index, section: 0), at: position, animated: animated)
     }
   }
   

            .overrideInheritedDuration
          ],
          animations: {
            self.collectionView.performBatchUpdates({
              self.collectionView.deleteItems(at: [IndexPath.init(item: index, section: 0)])
            }, completion: nil)
        }) { (finish) in
          

          .overrideInheritedDuration
        ],
        animations: {
          self.performBatchUpdates(nil, completion: nil)
          self.layoutIfNeeded()
      }) { (finish) in
        
      }
    } else {
      UIView.performWithoutAnimation {
        self.performBatchUpdates(nil, completion: nil)
        self.layoutIfNeeded()
      }
    }
