Updated to use session storage and to upload files on the client side