added extract_dependencies