better login flow