add the login function