Refactoring upload schemes