SignIn refactor