         } else {
 //            thumbnailImageViewWidthConstraint.constant = messageImagePreferredWidth
 
+            let width = messageImagePreferredWidth
+
+            thumbnailImageView.frame = CGRect(x: CGRectGetMaxX(avatarImageView.frame) + 5, y: 0, width: width, height: bounds.height)
+
+            playImageView.center = CGPoint(x: CGRectGetMidX(thumbnailImageView.frame) + 3, y: CGRectGetMidY(thumbnailImageView.frame))
+
+            println("playImageView.frame: \(playImageView.frame)")
+
+            loadingProgressView.center = playImageView.center
+
+
             ImageCache.sharedInstance.imageOfMessage(message, withSize: CGSize(width: messageImagePreferredWidth, height: ceil(messageImagePreferredWidth / messageImagePreferredAspectRatio)), tailDirection: .Left, completion: { [weak self] progress, image in
 
                 dispatch_async(dispatch_get_main_queue()) {

    
    typealias MediaTapAction = () -> Void
    var mediaTapAction: MediaTapAction?
    
    override func awakeFromNib() {
        super.awakeFromNib()

//        playImageViewCenterXConstraint.constant = YepConfig.ChatCell.centerXOffset



            } else {
//                thumbnailImageViewWidthConstraint.constant = messageImagePreferredHeight * aspectRatio

                let width = messageImagePreferredHeight * aspectRatio

                thumbnailImageView.frame = CGRect(x: CGRectGetMaxX(avatarImageView.frame) + 5, y: 0, width: width, height: bounds.height)

                playImageView.center = CGPoint(x: CGRectGetMidX(thumbnailImageView.frame) + 3, y: CGRectGetMidY(thumbnailImageView.frame))

                println("playImageView.frame: \(playImageView.frame)")

                loadingProgressView.center = playImageView.center


                ImageCache.sharedInstance.imageOfMessage(message, withSize: CGSize(width: messageImagePreferredHeight * aspectRatio, height: messageImagePreferredHeight), tailDirection: .Left, completion: { [weak self] progress, image in

