create client side and server side