initial client side work