         switch atPosition {
         case .Top:
             // make the top of our rect flush with the top of the visible bounds
-            rect.size.height = CGRectGetHeight(visibleRect) + contentInsets.top;
-            //rect.origin.y = self.documentVisibleRect.origin.y + rect.size.height;
+            rect.size.height = CGRectGetHeight(visibleRect) - contentInsets.top;
+            rect.origin.y = aRect.origin.y - contentInsets.top;
             break;
         case .Centered:
             // TODO

        
//        return
        let firstIP = indexPathForFirstVisibleItem()
        self.info.recalculate()
        let nContentSize = self.info.contentSize
        contentDocumentView.frame.size = nContentSize
        
        self.contentDocumentView.prepareRect(self.contentVisibleRect, force: true)
        return
        
        if animated {

        
        let nFirstIP = self.indexPathForFirstVisibleItem()
        if nFirstIP != firstIP, let ip = firstIP, let rect = self.collectionViewLayout.scrollRectForItemAtIndexPath(ip, atPosition: CBCollectionViewScrollPosition.Top) {
            self.scrollToRect(rect, atPosition: .Top, animated: false)
        }
        self.contentDocumentView.prepareRect(self.contentVisibleRect)
    }
