run client side, too, for side effects