added a lot of uploading stuff