Step-growth polymers are formed by independent reaction steps between functional groups of monomer units, usually containing heteroatoms such as nitrogen or oxygen. Most step-growth polymers are also classified as condensation polymers, since a small molecule such as water is lost when the polymer chain is lengthened. For example, polyester chains grow by reaction of alcohol and carboxylic acid groups to form ester links with loss of water. However, there are exceptions; for example polyurethanes are step-growth polymers formed from isocyanate and alcohol bifunctional monomers) without loss of water or other volatile molecules, and are classified as addition polymers rather than condensation polymers.