factored extractor