added download_extract function;