2nd phase of refactor SignInSignOutSignUp