     /// - Parameter type: The type of which a new header/footer should be dequeued
     /// - Returns: A UITableViewHeaderFooterView instance of the expected type
     public func dequeueReusableHeaderFooterView<T: UITableViewHeaderFooterView>(ofType type: T.Type) -> T {
-        return self.dequeueReusableHeaderFooterView(withIdentifier: self.reuseIdentifierForHeaderFooterClass(headerFooterClass: type))
+        return self.dequeueReusableHeaderFooterView(withIdentifier: self.reuseIdentifierForCellClass(cellClass: type))
     }
 
 }

    private func reuseIdentifierForCellClass(cellClass: AnyClass) -> String {
        return String(describing: cellClass.self)
    }

    /// Registers a cell class for dequeueing. The reuseidentifier will be the class name of the type
    ///

        }
    }

    // MARK: - register & dequeue Cells and Header / Footer Cells

    /// Gets the identifier for a cell class
    ///
