         chatView.collectionView.dataSource = self
         
         ChatOtherMessageCell.register(in: chatView.collectionView)
+        ChatMyMessageCell.register(in: chatView.collectionView)
         
         otherMessageCellPrototype.frame.size.width = size.width
+        myMessageCellPrototype.frame.size.width = size.width
         
         view = chatView
     }

    var chatView: ChatView!
    
    lazy var otherMessageCellPrototype = ChatOtherMessageCell()
    lazy var messages: [String] = {
        var data = [String]()
        for i in 0..<(arc4random() % 20 + 20) {
            switch arc4random() % 5 + 1 {
            case 1:
                data.append("Hello! Are you free tonight?")
                
            case 2:
               data.append("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.")
                
            case 3:
                data.append("No, I have an appointment with my boss.")
                
            case 4:
                data.append("Ok, how about tomorrow night?")
                
            default:
                data.append("The quick brown fox jumps over the lazy dog.")
            }
        }
        return data
    }()
    
    override func loadView() {
        let size = UIScreen.main.bounds.size

    }
    
    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell: UICollectionViewCell
        let item = messages[indexPath.row]
        
        if item.isMe {
            let messageCell = ChatMyMessageCell.dequeue(from: collectionView, at: indexPath)
            messageCell.messageLabel.text = item.message
            cell = messageCell
            
        } else {
            let messageCell = ChatOtherMessageCell.dequeue(from: collectionView, at: indexPath)
            messageCell.messageLabel.text = item.message
            cell = messageCell
        }
        
        return cell
    }
}
