                 return node
             }
 
+            if message.deletedByCreator {
+                let node = ChatPromptCellNode()
+                node.configure(withMessage: message, promptType: .RecalledMessage)
+                return node
+            }
+
+            let cellNode: ASCellNode
+
             if sender.friendState != UserFriendState.Me.rawValue { // from Friend
-
-                if message.deletedByCreator {
-                    let node = ChatPromptCellNode()
-                    node.configure(withMessage: message, promptType: .RecalledMessage)
-                    return node
-                }
 
                 switch mediaType {
 


                    let node = ChatRightTextCellNode()
                    node.configure(withMessage: message)
                    node.tapAvatarAction = { [weak self] user in
                        self?.performSegueWithIdentifier("showProfile", sender: user)
                    }
                    node.tapURLAction = { [weak self] url in
                        self?.yep_openURL(url)
                    }
                    node.tapMentionAction = { [weak self] username in
                        self?.tryShowProfile(withUsername: username)
                    }
                    return node

                case .Image:

                    let node = ChatRightImageCellNode()
                    node.configure(withMessage: message)
                    node.tapAvatarAction = { [weak self] user in
                        self?.performSegueWithIdentifier("showProfile", sender: user)
                    }
                    node.tapImageAction = { [weak self] node in
                        self?.tryPreviewMediaOfMessage(message, fromNode: node)
                    }
                    return node

                case .Audio:

                    let node = ChatRightTextCellNode()
                    node.configure(withMessage: message, text: "Mysterious Audio")
                    node.tapAvatarAction = { [weak self] user in
                        self?.performSegueWithIdentifier("showProfile", sender: user)
                    }
                    return node

                case .Video:

                    let node = ChatRightTextCellNode()
                    node.configure(withMessage: message, text: "Mysterious Video")
                    node.tapAvatarAction = { [weak self] user in
                        self?.performSegueWithIdentifier("showProfile", sender: user)
                    }
                    return node

                case .Location:

                    let node = ChatRightTextCellNode()
                    node.configure(withMessage: message, text: "Mysterious Location")
                    node.tapAvatarAction = { [weak self] user in
                        self?.performSegueWithIdentifier("showProfile", sender: user)
                    }
                    return node

                default:
                    let node = ChatRightTextCellNode()
                    node.configure(withMessage: message)
                    return node
                }
            }
        }
    }



                    let node = ChatLeftTextCellNode()
                    node.configure(withMessage: message)
                    node.tapURLAction = { [weak self] url in
                        self?.yep_openURL(url)
                    }
                    node.tapMentionAction = { [weak self] username in
                        self?.tryShowProfile(withUsername: username)
                    }
                    cellNode = node

                case .Image:

                    let node = ChatLeftImageCellNode()
                    node.configure(withMessage: message)
                    node.tapImageAction = { [weak self] node in
                        self?.tryPreviewMediaOfMessage(message, fromNode: node)
                    }
                    cellNode = node

                case .Audio:

                    let node = ChatLeftTextCellNode()
                    node.configure(withMessage: message, text: "Mysterious Audio")
                    cellNode = node

                case .Video:

                    let node = ChatLeftTextCellNode()
                    node.configure(withMessage: message, text: "Mysterious Video")
                    cellNode = node

                case .Location:

                    let node = ChatLeftTextCellNode()
                    node.configure(withMessage: message, text: "Mysterious Location")
                    cellNode = node

                case .SocialWork:

                    let node = ChatLeftTextCellNode()
                    node.configure(withMessage: message, text: "Mysterious SocialWork")
                    cellNode = node
                    
                default:
                    let node = ChatLeftTextCellNode()
                    node.configure(withMessage: message)
                    cellNode = node
                }

            } else { // from Me
