Client-side update