client-side changes