Antibody diversity is produced by genetic rearrangement after shuffling and rejoining one of each of the various gene segments for the heavy and light chains. Due to mixing and random recombination of the gene segments errors can occur at the sites where gene segments join with each other. These errors are one of the sources of the antibody diversity that is commonly observed in both the light and heavy chains. Moreover, when B cells continue to proliferate, mutations accumulate at the variable regions through a process called somatic hypermutation. The high concentrations of these mutations at the variable region also produce high antibody diversity.