                 var removedAlbums = [PHAssetCollection]()
                 var removedIndexesInSortedAlbums = [IndexPath]()
                 for removedIndex in removedIndexes {
-                    let albumToRemove = fetchedAlbumsArray[section][removedIndex.row]
+                    let albumToRemove = fetchedAlbumsArray[section].remove(at: removedIndex.row)
                     if let index = sortedAlbumsArray[section].index(of: albumToRemove) {
                         removedIndexesInSortedAlbums.append(IndexPath(row: index, section: section))
                     }

                }
                
                // check thumbnail
                if isThumbnailChanged(changeDetails: assetsChangeDetails) {
                    if let sortedIndex = sortedAlbumsArray[section].index(of: album) {
                        thumbnailUpdatedIndexPaths.append(IndexPath(row: sortedIndex, section: section))
                    }

            }
        }
        return authorizationStatus == .authorized
    }
    
    func isCountChanged(changeDetails: PHFetchResultChangeDetails<PHAsset>) -> Bool {
        return changeDetails.fetchResultBeforeChanges.count != changeDetails.fetchResultAfterChanges.count
    }
    
    func isThumbnailChanged(changeDetails: PHFetchResultChangeDetails<PHAsset>) -> Bool {
