     
     public required init() {
         super.init()
+    }
+    
+    // MARK: - View Lifecycle
+    
+    public override func viewDidLoad() {
+        super.viewDidLoad()
+        let layout = CollectionViewFlowLayout()
+        self.collectionView = CollectionView(frame: self.view.frame, collectionViewLayout: layout)
+        guard let pubNubCollectionView = self.collectionView else {
+            fatalError("We expected to have a collection view by now. Please contact support@pubnub.com")
+        }
+        pubNubCollectionView.delegate = self
+        pubNubCollectionView.dataSource = self
+        self.view.addSubview(pubNubCollectionView)
     }
     
     // MARK: - UICollectionViewDataSource

        return BasicDataSource(sections: sections)
    }()
    
    // MARK: Constructors
    
    public required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")

        cell.updateCell(indexedItem)
        return cell
    }

}
