download() also support timeout options