user_login and create_user implements