modify the login func