Propp identified a limited number of character types that appear in narratives, including villains, heroes, donors, helpers, princesses, fathers, dispatchers, and false heroes. Todorov suggested that narratives follow a pattern of normality, disruption of normality, and restoration of normality. Barthes identified five codes that help readers make sense of narratives: the action code, referential code, semantic code, enigma code, and symbolic code. Levi-Strauss introduced the concept of binary oppositions in narratives, which are conflicts between two opposing qualities or terms. Narrative theory analyzes how media texts communicate meaning about events through their use of characters, structure, and codes.