         return floor((width - (spaceColumCount * self.minimumColumnSpacing)) / CGFloat(columnCount))
     }
 
-    override func prepare() {
+    override public func prepare() {
         super.prepare()
 
         let numberOfSections = self.collectionView!.numberOfSections

        return attrs
    }

    override func shouldInvalidateLayout (forBoundsChange newBounds: CGRect) -> Bool {
        let oldBounds = self.collectionView!.bounds
        if newBounds.width != oldBounds.width {
            return true

        return list[indexPath.item]
    }

    override public func layoutAttributesForSupplementaryView(ofKind elementKind: String, at indexPath: IndexPath) -> UICollectionViewLayoutAttributes {
        var attribute: UICollectionViewLayoutAttributes?
        if elementKind == CHTCollectionElementKindSectionHeader {
            attribute = self.headersAttributes[indexPath.section]
