implemented server side update