     
     /// discard the dataSource and delegate data and requery as necessary.
     public func reloadData() {
-        reloadingIndexPath = centerContentView?.cell?.indexPath
+        if leftPagingEdge {
+            reloadingIndexPath = leftContentView?.cell?.indexPath
+        } else if rightPagingEdge {
+            reloadingIndexPath = rightContentView?.cell?.indexPath
+        } else {
+            reloadingIndexPath = centerContentView?.cell?.indexPath
+        }
+        
         constraintGroup.removeAll()
         removeContentView()
         

                }
            } else if rightEdge(offset) {
                if infiniteRightScroll || forced {
                    return offset.x - contentOffsetCenter - contentInset.right
                }
            } else if contentOffsetRight == offset.x + CGFloat(pagingInset) {
                if infiniteRightScroll || forced {
                    return contentOffsetCenter - CGFloat(pagingInset)
                }
            }
            

        return infinite || rightContentView?.cell?.indexPath != lastForceIndexPath()
    }
    var leftPagingEdge: Bool {
        return infiniteLeftScroll == false && (leftEdge(contentOffset) || centerContentView?.cell == nil)
    }
    var rightPagingEdge: Bool {
        return infiniteRightScroll == false && (rightEdge(contentOffset) || centerContentView?.cell == nil)
    }
    
    func leftEdge(offset: CGPoint) -> Bool {
        return offset.x + (contentInset.left / 2) <= contentOffsetXAtPosition(.Left)
    }
    
    func rightEdge(offset: CGPoint) -> Bool {
