working on the client side, adding upload