implement sign up and update user profile