How is this program structured?