return None if extract_text does