client side is ready