making upload read async, but without limitation