     func showNextWelcomePage(sender: AnyObject)
 }
 
-class WMFWelcomePageViewController: UIPageViewController, UIPageViewControllerDataSource, WMFWelcomeNavigationDelegate {
+class WMFWelcomePageViewController: UIPageViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate, WMFWelcomeNavigationDelegate {
 
     var completionBlock: (() -> Void)?
-    private var indexForDotIndicator:Int = 0
     
     func showNextWelcomePage(sender: AnyObject){
         let index = pageControllers.indexOf(sender as! UIViewController)
         if index == pageControllers.count - 1 {
-            self.dismissViewControllerAnimated(true, completion:completionBlock)
+            dismissViewControllerAnimated(true, completion:completionBlock)
         }else{
-            self.view.userInteractionEnabled = false
+            view.userInteractionEnabled = false
             let nextIndex = index! + 1
-            indexForDotIndicator = nextIndex
-            self.setViewControllers([pageControllers[nextIndex]], direction: .Forward, animated: true, completion: {(Bool) in
+
+            let direction:UIPageViewControllerNavigationDirection = UIApplication.sharedApplication().wmf_isRTL ? .Reverse : .Forward
+            self.setViewControllers([pageControllers[nextIndex]], direction: direction, animated: true, completion: {(Bool) in
                 self.view.userInteractionEnabled = true
             })
         }

    }
    
    func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int {
        return indexForDotIndicator;
    }
    
    func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
        let index = pageControllers.indexOf(viewController)
        if index == nil || index! + 1 == pageControllers.count {
            return nil
        } else {
            return pageControllers[index! + 1]
        }
    }
    
    func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
        let index = pageControllers.indexOf(viewController)
        if index == nil || index! == 0 {
            return nil
        } else {
            return pageControllers[index! - 1]
        }
    }
    
    override func preferredStatusBarStyle() -> UIStatusBarStyle {

        return controllers
    }()
    
    private lazy var pageControl: UIPageControl? = {
        return self.view.wmf_firstSubviewOfType(UIPageControl)
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        dataSource = self
        delegate = self
        
        let direction:UIPageViewControllerNavigationDirection = UIApplication.sharedApplication().wmf_isRTL ? .Forward : .Reverse
        
        setViewControllers([pageControllers.first!], direction: direction, animated: true, completion: nil)

        addGradient()
        
