                         print("off screen for next image")
                         self.animator?.removeAllBehaviors()
                         self.isZoomMode = false;
+                        
+                        // hide the last original image to avoid flickering
+                        self.imageView.image = nil
+                        
                         self.loadNextImage()
+
+                        
                         self.imageView.transform = self.normalTransform
                         self.imageView.center = CGPoint(x: self.initialCenterX, y: self.initialCenterY)
                            self.isImageTransition = false

        options.isNetworkAccessAllowed = true
        
        
        //options.deliveryMode = .opportunistic
        options.deliveryMode = .highQualityFormat
        
        // latest version of the asset
        options.version = .current
        
        // only on async the handler is being requested
        // TODO: Warning isSync FALSE produces currently unwanted errors for image loading
        options.isSynchronous = true
        
        
        

    
    override func viewDidLoad() {
        super.viewDidLoad()

        initialCenterX = imageView.center.x
        initialCenterY = imageView.center.y
        
