Barthes identified 5 key codes for analyzing the meaning in texts: the enigma code, which sets up and solves puzzles; the proairetic code, containing sequential elements of action that add suspense; the semantic code, linking sections that suggest additional meanings; the symbolic code, using symbolism to create contrasts and greater meaning; and the cultural/referential code, anchoring the text in cultural context. These codes can be used to describe texts as either open, with many interweaving storylines and no clear ending, or closed, with a single storyline.