refactor feature extractors