Abstract: A method of synthesizing a heteropolycycle, the method involving: reacting a bisepoxide with a first heteroatom nucleophile, to obtain a mixture comprising a diol compound; and further processing, to obtain the heteropolycycle with at least two heteroatoms within its polycyclic backbone, wherein each nitrogen within the polycyclic backbone of the heteropolycycle is introduced into the polycyclic backbone via an amine nucleophile.