refactoring feature extractors