Abstractions for uploading