Heterobifunctional reagents consist of 2 different reactive groups on either end of a spacer arm. These reagents can provide more specific information about the protein interactions and their proximity to one another. This is a result of their ability to perform multiple step cross-linking reactions. In the first step, a protein is modified with one reactive group of the heterobifunctional reagent; the remaining free reagent is removed. In the second step, the modified protein is mixed with a second protein, which is then allowed to react with modifier group at the other end of the reagent. The advantage of having the 2 steps in the conjugation process is that unwanted polymerization or self-linking can be minimized during the free agent removal step.