added client side routing