A CFG consists of blocks (not nodes?) and edges. Blocks represent a single continuous block of instructions with no branching, while each edge represents a possible path.