implemented user update