     // MARK: UITableViewDelegate
     
     public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
-        print(indexPath.row)
         selectTappedRow((indexPath as NSIndexPath).row)
-    }
-    
-    public func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
-        if scrollingStyle == .default {
-            let topAndBottomRowHeight = ((frame.height / 2) + (rowHeight / 2)) * 2
-            return topAndBottomRowHeight + (CGFloat(numberOfRowsByDataSource - 2) * rowHeight)
-        } else {
-            return CGFloat(numberOfRowsByDataSource * infinityRowsMultiplier) * rowHeight
-        }
     }
     
     public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

            
            let indexOfSelectedRow = visibleIndexOfSelectedRow()
            tableView.setContentOffset(CGPoint(x: 0.0, y: CGFloat(indexOfSelectedRow) * rowHeight), animated: false)
            print("scrolling position was set to visible index of selected row \(indexOfSelectedRow), at Y \(CGFloat(indexOfSelectedRow) * rowHeight) when row height is \(rowHeight)")
            
            print("first selection is set to row \(currentSelectedRow), at index \(currentSelectedIndex)")
            delegate?.pickerView?(self, didSelectRow: currentSelectedRow, index: currentSelectedIndex)
            
        } while !(numberOfRowsByDataSource > 0 && tableView.numberOfRows(inSection: 0) > 0)

    
        if let _ = currentSelectedRow , scrollingStyle == .default && currentSelectedRow == 0 {
            indexForSelectedRow = 0
        } else if let _ = currentSelectedRow {
            indexForSelectedRow = middleIndex - (numberOfRowsByDataSource - currentSelectedRow)
        } else {
            let middleRow = Int(ceil(Float(numberOfRowsByDataSource) / 2.0))
            indexForSelectedRow = middleIndex - (numberOfRowsByDataSource - middleRow)
        }
        
        return indexForSelectedRow
