    }
 }
 
-extension ElementalPageViewController: UIPageViewControllerDataSource {
-   public func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
-      guard let index = pages.index(of: viewController), index < pages.count - 1 else { return nil }
-      return pages[index + 1]
-   }
-   
-   public func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
-      guard let index = pages.index(of: viewController), index > 0 else { return nil }
-      return pages[index - 1]
-   }
-   
-   public func presentationCount(for pageViewController: UIPageViewController) -> Int {
-      return pages.count
-   }
-   
-   public func presentationIndex(for pageViewController: UIPageViewController) -> Int {
-      return currentIndex
-   }
-}
-
 extension ElementalPageViewController: UIPageViewControllerDelegate {
    public func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {
       guard completed else { return }

      self.currentIndex = currentIndex
      _transition(from: viewControllers?.first, to: pages.count > currentIndex ? pages[currentIndex] : nil, direction: direction, animated: animated, notifyDelegate: true, completion: completion)
   }

   public weak var elementalDelegate: ElementalPageViewControllerDelegate?
   

   }
   
   private func _commonInit() {
      showsPageIndicator = true
      delegate = self
      dataSource = _dataSource
   }
   
   // MARK: - Life Cycle
