added apply, missing gameState implementation