# Hierarchical design

As you build circuits that are more and more sophisticated, you will want to build smaller circuits that you can use multiple times as a module nested within larger circuits. In Logisim, such a smaller circuit that is used in a larger circuit is called a subcircuit.

If you're familiar with computer programming, you're familiar with the subprogram concept, whether it's called a subroutine, function, method, or procedure in your favored language. The subcircuit concept is analogous to this, and it serves the same purpose: To break a large job into bite-sized pieces, to save the effort of defining the same concept multiple times, and to facilitate debugging.

> Creating circuits
> Using subcircuits
> Selecting the appearance of a subcircuit
> Customize the appearance
> Debugging subcircuits
> Logisim libraries

Next: Creating circuits.