In this paper we describe a new language, Visual Structure Language (VSL), designed to describe the structure of a program and explain its pieces. This new language is built on top of a general-purpose language, such as C. The language consists of three extensions: explanations, nesting, and arcs. Explanations are comments explicitly associated with code segments. These explanations can be nested. And arcs can be inserted between explanations to show data-or control-flow.The value of VSL is that it enables a developer to better control a code. The developer can represent the structure via nested explanations, using arcs to indicate the flow of data and control. The explanations provide a "second opinion" about the code so that at any level, the developer can confirm that the code operates as it is intended to do.We believe that VSL enables a programmer to use in a computer language the same model-a hierarchy of components-that they use in their heads when they conceptualize systems.