begin to modularize the download process and improved messages