         case 1:
             imageView1.frame = fullRect
 
-            ImageCache.sharedInstance.imageOfAttachment(attachments[0], withSize: fullRect.size, completion: { [weak self] (url, image) in
-                guard let strongSelf = self where strongSelf.attachmentURLs.contains(url) else {
-                    return
-                }
-                self?.imageView1.image = image
-            })
+            if let thumbnailImage = attachments[0].thumbnailImage {
+                imageView1.image = thumbnailImage
+
+            } else {
+
+            imageView1.yep_setImageOfAttachment(attachments[0], withSize: fullRect.size)
+//            ImageCache.sharedInstance.imageOfAttachment(attachments[0], withSize: fullRect.size, completion: { [weak self] (url, image) in
+//                guard let strongSelf = self where strongSelf.attachmentURLs.contains(url) else {
+//                    return
+//                }
+//                self?.imageView1.image = image
+//            })
+            }
+
             addSubview(imageView1)
 
         case 2:
             imageView1.frame = halfRect
             imageView1.center = CGPoint(x: halfRect.width * 0.5, y: imageView1.center.y)
 
-            ImageCache.sharedInstance.imageOfAttachment(attachments[0], withSize: halfRect.size, completion: { [weak self] (url, image) in
-                guard let strongSelf = self where strongSelf.attachmentURLs.contains(url) else {
-                    return
-                }
-                self?.imageView1.image = image
-            })
+            if let thumbnailImage = attachments[0].thumbnailImage {
+                imageView1.image = thumbnailImage
+
+            } else {
+            imageView1.yep_setImageOfAttachment(attachments[0], withSize: halfRect.size)
+//            ImageCache.sharedInstance.imageOfAttachment(attachments[0], withSize: halfRect.size, completion: { [weak self] (url, image) in
+//                guard let strongSelf = self where strongSelf.attachmentURLs.contains(url) else {
+//                    return
+//                }
+//                self?.imageView1.image = image
+//            })
+            }
 
             imageView2.frame = halfRect
             imageView2.center = CGPoint(x: halfRect.width * 1.5, y: imageView2.center.y)
 
-            ImageCache.sharedInstance.imageOfAttachment(attachments[1], withSize: halfRect.size, completion: { [weak self] (url, image) in
-                guard let strongSelf = self where strongSelf.attachmentURLs.contains(url) else {
-                    return
-                }
-                self?.imageView2.image = image
-                })
+            if let thumbnailImage = attachments[1].thumbnailImage {
+                imageView2.image = thumbnailImage
+
+            } else {
+            imageView2.yep_setImageOfAttachment(attachments[1], withSize: halfRect.size)
+//            ImageCache.sharedInstance.imageOfAttachment(attachments[1], withSize: halfRect.size, completion: { [weak self] (url, image) in
+//                guard let strongSelf = self where strongSelf.attachmentURLs.contains(url) else {
+//                    return
+//                }
+//                self?.imageView2.image = image
+//                })
+            }
 
             addSubview(imageView1)
             addSubview(imageView2)

                imageView2.image = thumbnailImage

            } else {
                ImageCache.sharedInstance.imageOfAttachment(attachments[1], withSize: quarterRect.size, completion: { [weak self] (url, image) in
                    guard let strongSelf = self where strongSelf.attachmentURLs.contains(url) else {
                        return
                    }
                    self?.imageView2.image = image
                })
            }

            imageView3.frame = halfRect

                imageView3.image = thumbnailImage

            } else {
                imageView3.yep_setImageOfAttachment(attachments[2], withSize: quarterRect.size)
//                ImageCache.sharedInstance.imageOfAttachment(attachments[2], withSize: quarterRect.size, completion: { [weak self] (url, image) in
//                    guard let strongSelf = self where strongSelf.attachmentURLs.contains(url) else {
//                        return
//                    }
//                    self?.imageView3.image = image
//                })
            }

            imageView4.frame = quarterRect
