proper user login flow