add login view and begin to add client-side auth