Roland Barthes proposed five narrative codes that can be used to analyze and understand the meanings and interpretations of a text: 1) the hermeneutic code refers to mysteries or enigmas in a text that create intrigue; 2) the proairetic code contains sequential elements of action that add suspense; 3) the semantic code suggests additional connotative meanings; 4) the symbolic code uses symbolism and opposites to develop tension and meaning; 5) the referential code refers to external cultural, historical or scientific knowledge referenced in a text. These codes provide ways to unravel and derive multiple interpretations from a text.