refactoring to make storing source and extractor ids possible