macro extractor