docs: def extract(self, html: str, return_text: bool=False) -> List[Extraction]:
          """
          Args:
              html (str): raw html of the page
              return_text (bool): if True, return the visible text in the page
                                  removing all the data tables
  
          Returns:
              List[Extraction]: a list of Extractions
  
          """
          results = list()
          temp_res = TableExtractor.tableExtractorInstance.extract(html)
          if return_text:
              results.append(self._wrap_value_with_context(temp_res['html_text'], "text_without_tables"))
          results.extend(map(lambda t: self._wrap_value_with_context(t, "tables"), temp_res['tables']))
          return results