> For the complete documentation index, see [llms.txt](https://xojo.gitbook.io/add-ons/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://xojo.gitbook.io/add-ons/stackview/version-3/how-it-works.md).

# How it works

At the heart of StackView are three layers of embedded [DesktopContainers](https://documentation.xojo.com/api/user_interface/desktop/desktopcontainer.html).

The top layer is a DesktopContainer of type [ViewController](/add-ons/stackview/version-3/details/viewcontroller.md) `3`. You design your interface on a ViewController.

Each ViewController is embedded in another DesktopContainer of type [StackController](/add-ons/stackview/version-3/details/stackcontroller.md) `2`. The StackController is responsible for showing and hiding the embedded ViewControllers and provide a heading as well.

Finally StackControllers are embedded in a DesktopContainer of type [ScrollController](/add-ons/stackview/version-3/details/scrollcontroller.md) `1` . These deal with scrolling if the shown embedded controls take up more space when is available.

![Structure](/files/-LMNHsZHBj_YMmwve3Bl)
