Almost completely implemented //upload