  For any torsion-free hyperbolic group $\Gamma$ and any group $G$ that is
fully residually $\Gamma$, we construct algorithmically a finite collection of
homomorphisms from $G$ to groups obtained from $\Gamma$ by extensions of
centralizers, at least one of which is injective. When $G$ is residually
$\Gamma$, this gives a effective embedding of $G$ into a direct product of such
groups. We also give an algorithmic construction of a diagram encoding the set
of homomorphisms from a given finitely presented group to $\Gamma$.
