added updating of objects and optional client side code