implementing first 2 upload procedure methods