Todorov's theory of narrative structure states that narratives often follow a pattern of equilibrium, disequilibrium caused by a problem, and a new equilibrium resulting from resolution of the conflict. Propp analyzed character types in fairy tales. Barthes identified five codes that make up narratives: 1) the hermeneutic code involving enigmas and their answers, 2) the proairetic code encompassing sequence of actions, 3) the semic code involving character connotations, 4) the symbolic code involving transgression of limits, and 5) the referential code involving references to common knowledge.