player now generates onLogin