Many practical problem necessitate faster computations. Simple physical estimates show that the only way to achieve a drastic computation speedup is to use quantum -- or, more generally, reversible -- computing. Thus, we need to be able to transform the existing algorithms into reversible form. Such transformation schemes exist. However, such schemes are not very efficient. Indeed, in general, when we write an algorithm, we composed it of several pre-existing modules. It would be nice to be able to similarly compose a reversible version of our algorithm from reversible version of these moduli -- but the existing transformation schemes cannot do it, they require that we, in effect, program everything "from scratch". It is therefore desirable to come up with alternative transformations, transformation that transform compositions into compositions and thus, transform a modular program in an efficient way -- by utilizing transformed moduli. Such transformations are proposed in this paper.