minor change to the client side implementation, still need to test it