Because the force-fields we aim to parameterize involve pairwise atomic interactions, we consider the number of structures that contain each pair of atoms. This generates a matrix that quantifies the representation of pairwise interactions in our datasets and allows us to focus our data generation efforts towards structures containing atom types or atom pairs that are sparse. The criteria applied during the construction of the primary reference sets are also enforced during this secondary search of the CSD, using the relevant property metrics accessible through the Python API. The size of each candidate molecule is constrained based on the total number of atoms in a structure, while flexibility is limited by the total number of sp 3 carbons present in a structure. Structures with Z ′ ≤ 1 and Z ≤ 4 are preferentially searched for, and disordered structures are rejected. Any structure that is already in the primary datasets is rejected to avoid multiple instances of the same crystal structure, although polymorphic forms are accepted. If the desired number of candidates cannot be identified for a given atom type or pair, some of these criteria are relaxed slightly to expand the search space. As before, no constraints are placed on the method used to resolve the crystal geometry. Unlike the primary search, we do not limit ourselves to structures that have all atom positions resolved. Instead, structures are considered as long as they have all heavy-atom positions identified. Any missing hydrogens can be placed in standard All other Hs must be carbon-bonded positions using Mercury's in-built molecule editor. Some structures that require this treatment include 2-mercapto-pyridine-4-carboxylic acid (MPYDCY) and cis-2-butene-episulfone (BUTSUL10). This approach is deemed acceptable since hydrogen positions determined by experimental methods are generally considered to be not very accurate. Moreover, when the DFT-D optimised geometries are compared to their experimental counterparts, the CCDC's COMPACK tool , by default, ignores hydrogen positions. The list of candidates generated through the Python API undergoes a final round of manual screening in order to filter out highly irregular structures or structures that are likely to exhibit extreme flexibility. Despite the limits imposed on the number of sp 3 carbons, excessive flexibility can still occur if all the permitted sp 3 carbons are directly bonded to each other in a linear fashion. The finalized list of structures then undergoes the same treatment as the primary reference datasets.