some initial game logic works