added update user function