Preparing molecular fragments with each functional group X. Next, for each functional group X in Fig. , we prepare molecular fragments containing X. By later aligning these fragments onto the substitution sites in the parent MOF, we can append functional groups onto the PyC ligand of the parent MOF with a reasonable geometry relative to the PyC ligand.