added chunked file downloading