add timeout to downloading