The coenzyme NAD is also consumed in ADP-ribose transfer reactions. For example, enzymes called ADP-ribosyltransferases add the ADP-ribose moiety of this molecule to proteins, in a posttranslational modification called ADP-ribosylation. ADP-ribosylation involves either the addition of a single ADP-ribose moiety, in "mono-ADP-ribosylation", or the transferral of ADP-ribose to proteins in long branched chains, which is called "poly(ADP-ribosyl)ation". Mono-ADP-ribosylation was first identified as the mechanism of a group of bacterial toxins, notably cholera toxin, but it is also involved in normal cell signaling. Poly(ADP-ribosyl)ation is carried out by the poly(ADP-ribose) polymerases. The poly(ADP-ribose) structure is involved in the regulation of several cellular events and is most important in the cell nucleus, in processes such as DNA repair and telomere maintenance. In addition to these functions within the cell, a group of extracellular ADP-ribosyltransferases has recently been discovered, but their functions remain obscure.