even more client side code added