 
         CudaSimulator simulator(&state, deviceStates);
         if (threadIdx.x == 0)
-            printf("%d HELPER  %lu / %lu\n", blockIdx.x ,i, blockIterations);
-        __syncthreads();
 
         expandLeaf(deviceStates, simulator, state);
-        if (threadIdx.x == 0)
-            printf("%d EXPAND %lu / %lu\n", blockIdx.x ,i, blockIterations);
+
         __syncthreads();
         if (state.isWinner(currentPlayer))
         {

        {
            results[node].visits ++;
        }
        if (threadIdx.x == 0)
            printf("%d FINISHED %lu / %lu\n", blockIdx.x ,i, blockIterations);
    }
}



    for (size_t i = 0; i < blockIterations; ++i)
    {
        size_t node = randomNumber(deviceStates, numberOfPlayfields);

        __shared__ Field sharedPlayfield[FIELD_SIZE];
        __shared__ Field oldPlayfield[FIELD_SIZE];
        __shared__ bool possibleMoves[FIELD_SIZE];

        size_t playfieldOffset = FIELD_SIZE * node;
        sharedPlayfield[playfieldIndex] = playfields[playfieldOffset + playfieldIndex];

