refactor LoginView