new code for client side service