only redownload if recursing