Refactor Upload service