static method for download()