client side of app working