add scheduler to control the download process