client side of application