improve download process