Even though the acceleration with respect to the naive insertion that checks with all the distances is, at this point significant, there is still the construction of the k-d tree. If every time the k-d tree needs to be constructed every time a molecule is inserted, as the amount of molecules increases, the speed will be reduced. In order to mitigate that, one can decide to insert molecules in batches with decreasing size as the number of molecules inserted increases and update the k-d tree after a batch is inserted. In this strategy, when the box is only containing the solute molecule, there is mostly empty space so one can use the tree containing only the atoms of the solute with a fair confidence that there will not be clashes. As the box gets more packed, the size of the batch will be reduced and, in consequence, the k-d tree will be updated more often because the probability for a clash increases.