refactored extractors