             withReuseIdentifier:footer.reusableIdentifier)
     }
     
-    final func registerHeader(header:UICollectionReusableView.Type)
+    final func registerHeader(
+        header:UICollectionReusableView.Type)
     {
         collectionView.register(
             header,

            withReuseIdentifier:header.reusableIdentifier)
    }
    
    final func cellAtIndex(indexPath:IndexPath) -> Cell
    {
        let cell:Cell = cellAtIndex(
            reusableIdentifier:Cell.reusableIdentifier,
            indexPath:indexPath)
        
        return cell
    }
    
    final func cellAtIndex(reusableIdentifier:String, indexPath:IndexPath) -> Cell
    {
        let cell:Cell = collectionView.dequeueReusableCell(
            withReuseIdentifier:reusableIdentifier,
            for:indexPath) as! Cell
        
        return cell
    }

    
    //MARK: collectionView delegate
    
    func scrollViewWillBeginDragging(
        _ scrollView:UIScrollView) { }
    
    func scrollViewDidEndDecelerating(
        _ scrollView:UIScrollView) { }
    
    func scrollViewDidEndDragging(
        _ scrollView:UIScrollView,
        willDecelerate decelerate:Bool) { }
    
    func scrollViewDidEndScrollingAnimation(
        _ scrollView:UIScrollView) { }
    
    func scrollViewDidScroll(
        _ scrollView:UIScrollView) { }
    
    func collectionView(
        _ collectionView:UICollectionView,
