fixing download and .wait(fn)