add scheduler and downloader framework