Full game logic implemented