     func deviceOrientationDidChangeNotification() {
         clearAnimations()
     }
+    
+    //MARK: - Public Methods
+    
+    public func reload() {
+        updateTheActiveView()
+        //set an array with capacity for total amount of possible pages
+        viewControllerSnapShots.removeAll(keepCapacity: false)
+        for index in 1...dataSource!.numberOfPages(self) {
+            viewControllerSnapShots.append(nil)
+        }
+    }
 }

    func didFlipToNewPage(animationLayer:DJKAnimationLayer, gesture:UIPanGestureRecognizer, translation:CGFloat) -> Bool {
        
        var releaseSpeed = getReleaseSpeed(translation, gesture: gesture)

        var didFlipToNewPage = false
        if animationLayer.flipDirection == .Left && fabs(releaseSpeed) > DJKFlipperConstants.SpeedThreshold && !animationLayer.isFirstOrLastPage && releaseSpeed < 0 ||
           animationLayer.flipDirection == .Right && fabs(releaseSpeed) > DJKFlipperConstants.SpeedThreshold && !animationLayer.isFirstOrLastPage && releaseSpeed > 0 {
            didFlipToNewPage = true
        }
        return didFlipToNewPage
    }

    //MARK:Pan Gesture State Changed
    
    func panChanged(gesture:UIPanGestureRecognizer, translation:CGFloat, var progress:CGFloat) {
        
        if var currentDJKAnimationLayer = animatingLayers.last {
            if currentDJKAnimationLayer.flipAnimationStatus == .Beginning {
                animationStatusBeginning(currentDJKAnimationLayer, translation: translation, progress: progress, gesture: gesture)
