game logic + user auth