             
             switch loadingType {
             case .progress:
-                loadWithProgress(imageURL: imageURL) { (code, error) in
+                loadWithProgress(imageURL: imageURL) { [unowned self] (code, error) in
                     self.forceStopLoadingState()
                     completion?(code, error)
                 }
                 
             default:
-                loadWithSpinner(imageURL: imageURL) { (code, error) in
+                loadWithSpinner(imageURL: imageURL) { [unowned self] (code, error) in
                     self.forceStopLoadingState()
                     completion?(code, error)
                 }

        image = placeholder
        
        if !loadingEnabled {
            loadImage(fromURL: thumbURL, completion: { (code, error) in
                if code != .canceled {
                    self.loadImage(fromURL: largeURL, completion: { (code, error) in
                        completion?(code, error)

            
            switch loadingType {
            case .progress:
                loadWithProgress(imageURL: thumbURL, completion: { [unowned self] (code, error) in
                    if code != .canceled {
                        self.loadWithProgress(imageURL: largeURL, completion: { [unowned self] (code, error) in
                            self.forceStopLoadingState()
                            completion?(code, error)
                        })
