How is the program structured?