more thoughts drafted in AbstractTableDataExtractor