game logic all working