   override func didAppear() {
     super.didAppear()
     imageView.startAnimating()
-    backgroundImageView.startAnimating()
   }
 
   override func didDisappear() {
     super.didDisappear()
     imageView.stopAnimating()
-    backgroundImageView.stopAnimating()
   }
 }
+
+extension LinkImageCardView {
+
+  /**
+   Blurs an image in a background thread and then sets the image to the imageView in the main thread
+
+   - parameter image:     The image to be blurred.
+   - parameter imageView: The imageView in which to set the blurred image.
+   */
+  private static func blurImage(image: UIImage, imageView: UIImageView) {
+    Async.background {
+      let blurFilter = iOSBlur()
+      let brightnessFilter = BrightnessAdjustment()
+      brightnessFilter.brightness = -0.2
+      let blurredImage = image.filterWithPipeline { (input, output) in
+        input --> blurFilter --> brightnessFilter --> output
+      }
+      Async.main {
+        imageView.image = blurredImage
+      }
+    }
+  }
+}

  }

  private func setupConstraints() {
    blurView.snp_makeConstraints { make in
      make.edges.equalTo(imageContentView)
    }

    imageView.snp_makeConstraints { make in
      make.edges.equalTo(imageContentView)
    }

//

import UIKit
import Async
import Kingfisher
import GPUImage2

@IBDesignable
class LinkImageCardView: LinkCardView {
