complete upload function
less the retrieve image function
still working on unused blob object