     private var isClanchTop:Bool = false
     private var isClanchBottom:Bool = false
     
+    private var dateWidth: CGFloat = 0
     
     private var messageState = ACMessageState.UNKNOWN().ordinal()
     private var cellLayout: TextCellLayout!

        // Layout elements
        if (self.isOut) {
            self.messageText.frame.origin = CGPoint(x: contentWidth - bubbleWidth - insets.right, y: insets.top /*+ topPadding*/)
            self.dateText.frame = CGRectMake(contentWidth - insets.right - 70, bubbleHeight + insets.top - 20, 46, 26)
            self.statusView.frame = CGRectMake(contentWidth - insets.right - 24, bubbleHeight + insets.top - 20, 20, 26)
            self.statusView.hidden = false
        } else {
            self.messageText.frame.origin = CGPoint(x: insets.left, y: insets.top/* + topPadding*/)
            self.dateText.frame = CGRectMake(insets.left + bubbleWidth - 47, bubbleHeight + insets.top - 20, 46, 26)
            self.statusView.hidden = true
        }
        

                right: 10)
        }

        dateText.textLayout = self.cellLayout.dateLayout
        dateWidth = self.cellLayout.dateWidth!
        
        messageState = message.messageState.ordinal()
        
