         zoomScale = 1.0
     }
     
-    private func configureImage() {
-        guard let image = image else {
-            return
-        }
-        
+    private func updateImage(_ image: UIImage) {
         imageView.image = image
         if infiniteScroll {
             leftImageView.image = image
             rightImageView.image = image
         }
-        
-        configureContentSize(with: image)
-    }
-    
-    private func configureContentSize(with image: UIImage) {
+    }
+    
+    private func updateContentSize(with image: UIImage) {
         let size: CGSize
         if infiniteScroll {
             size = CGSize(width: image.size.width * 3, height: image.size.height)

        contentSize = size
    }
    
    private func configureZoomScales() {
        guard let image = image else {
            return
        }
        
        // get scales needed to perfectly fit the image
        let xScale = bounds.size.width / image.size.width
        let yScale = bounds.size.height / image.size.height

        zoomScale = minimumZoomScale
    }
    
    private var pointToCenterAfterResize: CGPoint?
    
    private func prepareToResize() {
