Huge amount of changes for uploading process