upload does work. problems with callbacks for the remaining part