     public weak var expandableTableViewDataSource: LUExpandableTableViewDataSource?
     /// The object that acts as the delegate of the expandable table view
     public weak var expandableTableViewDelegate: LUExpandableTableViewDelegate?
+    
+    /// The `UITableViewRowAnimation` animation used for showing/hiding rows when expand/collapse occurs. Default value is `fade`
+    public var animation: UITableViewRowAnimation = .fade
     
     open override var dataSource: UITableViewDataSource? {
         willSet {

        }
        
        beginUpdates()
        reloadSections(IndexSet(integer: section), with: .fade)
        endUpdates()
        
        let sectionHeaderRect = rectForHeader(inSection: section)


extension LUExpandableTableView: UITableViewDataSource {
    public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return expandedSections.contains(section) ? (expandableTableViewDataSource?.expandableTableView(self, numberOfRowsInSection: section) ?? 0) : 0
    }
    
    public func numberOfSections(in tableView: UITableView) -> Int {
