A useful technique in virtual knot theory is {it parity theory}. The simplest example of a parity is the {it Gaussian parity}. The Gaussian parity is defined by assigning to each arrow x of the Gauss diagram D of a virtual knot K a 0 or a 1 according to whether the number of arrows in D intersecting x is even or odd. Such an assignment behaves nicely under the Reidemeister moves. The arrow involved in the Reidemeister 1 move is necessarily assigned a zero. The arrows involved in the Reidemeister 2 move must be either both assigned 0 or both assigned 1. Deleting the arrows does not affect the Gaussian parity of the remaining arrows. In the Reidemeister 3 move, we have that an even number of the 3 involved arrows must be marked 1. All classical knots must have a Gauss diagram in which all of the arrows are marked 0. par Instead of assigning values of 0 or 1 to each crossing, it is possible to define a parity so that the values lie in a fixed abelian group A. The authors define this notion in the paper under review. A particular focus is on the {it homological parity} for generically immersed curves on a surface. The authors also define the notion of a {it universal parity}. A parity p_u with coefficients in A_u is said to be universal if for any parity p with coefficients in A, there is a group homomorphism rho:A_u to A such that p=rhocirc p_u. The authors show that the Gaussian parity with coefficients in Bbb{Z}_2={0,1} is the universal parity for free knots. par A typical application of parity theory is to use a parity to extend a classical knot invariant to virtual knots. The authors define a useful invariant of virtual knots that generalizes the Kauffman bracket polynomial. The parity bracket is valued in Bbb{Z}_2germ{G}, where germ{G} is the set of four-valent framed graphs having one unicursal component, modulo Reidemeister move 2. This bigon addition/removal is easy to detect in practice, so the parity bracket gives an easily computed and highly discriminating invariant of virtual knots. A detailed computation of the invariance of the parity bracket under the Reidemeister moves is given.