completed download request method, but it's super ugly (TODO fix it)