Roland Barthes described five codes that are woven into any narrative: the hermeneutic code, the proairetic code, the semantic code, the symbolic code, and the cultural code. The hermeneutic and proairetic codes build tension and keep audiences guessing by leaving some elements unexplained or indicating that future events will occur. The semantic and symbolic codes provide additional meaning through connotation and organizing meanings into deeper sets of ideas. The cultural code refers to elements based on canonical works assumed to be foundational truths.