added new uploading functions