client update spec and logic