         if (maxOffset - offset) <= 55 {
             switch scrollView {
             case self.comicsCollectionView:
-                self.loadMoreComics()
+                self.loadMore(loadMore: &self.comicsLoadMore, offset: &self.comicsOffset, collection: self.comicsCollection, collectionType: "comics", completion: { (result) in
+                    if result != nil {
+                        for item in (result?.items!)! {
+                            self.comicsCollection.items!.append(item)
+                        }
+                    }
+                    self.refreshCollectionView("comics", loadMore: true, loadError: false)
+                })
                 break
             case self.seriesCollectionView:
-                self.loadMoreSeries()
+                self.loadMore(loadMore: &self.seriesLoadMore, offset: &self.seriesOffset, collection: self.seriesCollection, collectionType: "series", completion: { (result) in
+                    if result != nil {
+                        for item in (result?.items!)! {
+                            self.seriesCollection.items!.append(item)
+                        }
+                    }
+                    self.refreshCollectionView("series", loadMore: true, loadError: false)
+                })
                 break
             case self.storiesCollectionView:
-                self.loadMoreStories()
+                self.loadMore(loadMore: &self.storiesLoadMore, offset: &self.storiesOffset, collection: self.storiesCollection, collectionType: "stories", completion: { (result) in
+                    if result != nil {
+                        for item in (result?.items!)! {
+                            self.storiesCollection.items!.append(item)
+                        }
+                    }
+                    self.refreshCollectionView("stories", loadMore: true, loadError: false)
+                })
                 break
             case self.eventsCollectionView:
-                self.loadMoreEvents()
+                self.loadMore(loadMore: &self.eventsLoadMore, offset: &self.eventsOffset, collection: self.eventsCollection, collectionType: "events", completion: { (result) in
+                    if result != nil {
+                        for item in (result?.items!)! {
+                            self.eventsCollection.items!.append(item)
+                        }
+                    }
+                    self.refreshCollectionView("events", loadMore: true, loadError: false)
+                })
                 break
             default:
                 break

        return self.loadingCell(collectionView: collectionView, indexPath: indexPath) as! T
    }
    
    // MARK: Collections cells
    func noRecordsFoundCell(collectionView: UICollectionView, indexPath: IndexPath, text: String) -> CharacterDetailCollectionMessageCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CollectionMessageCell", for: indexPath) as! CharacterDetailCollectionMessageCell
        

        return numberOfItems
    }
    
    // MARK: Collections cells
    func getCell<T>(collectionView: UICollectionView, collection: Collection!, indexPath: IndexPath, loadError: Bool) -> T {
        if collection != nil {
            if collection.items!.count == 0 {
