improved method user_login