a lot of improvemetns for file uplaoding , this commit requires more testing and is mostly uploaded cause of it