Added extract_source()