update download method so it works properly for non-multiple download_num/limit and without jumping items