component extractor