initial version of client side