game logic almost done