# CBWIRE

## v1.x

- [Introduction](https://cbwire.ortusbooks.com/cbwire-v1/readme.md): cbwire is a ColdBox module that makes building reactive, modern apps easy without leaving the comfort of CFML.
- [Installation](https://cbwire.ortusbooks.com/cbwire-v1/essentials/installation.md)
- [Configuration](https://cbwire.ortusbooks.com/cbwire-v1/essentials/configuration.md)
- [Creating Components](https://cbwire.ortusbooks.com/cbwire-v1/essentials/creating-components.md)
- [Rendering Views](https://cbwire.ortusbooks.com/cbwire-v1/essentials/rendering-components.md)
- [Data Properties](https://cbwire.ortusbooks.com/cbwire-v1/essentials/properties.md): Similar to Vue.js and other frontend JavaScript frameworks, you can define and initialize reactive properties on your cbwire components.
- [Actions](https://cbwire.ortusbooks.com/cbwire-v1/essentials/actions.md)
- [Events](https://cbwire.ortusbooks.com/cbwire-v1/essentials/events.md): You can emit events from your cbwire components, views, and also direct from JavaScript. Listeners can be defined to execute specific actions.
- [Lifecycle Events](https://cbwire.ortusbooks.com/cbwire-v1/essentials/lifecycle-events.md)
- [Redirecting](https://cbwire.ortusbooks.com/cbwire-v1/component-features/redirecting.md)
- [Logging](https://cbwire.ortusbooks.com/cbwire-v1/component-features/logging.md)
- [Loading States](https://cbwire.ortusbooks.com/cbwire-v1/templates/loading-states.md)
- [Polling](https://cbwire.ortusbooks.com/cbwire-v1/templates/polling.md)
- [Prefetching](https://cbwire.ortusbooks.com/cbwire-v1/templates/prefetching.md)
- [Offline State](https://cbwire.ortusbooks.com/cbwire-v1/templates/offline-state.md)
- [Dirty States](https://cbwire.ortusbooks.com/cbwire-v1/templates/dirty-states.md)
- [Defer Loading](https://cbwire.ortusbooks.com/cbwire-v1/templates/defer-loading.md)
- [AlpineJS](https://cbwire.ortusbooks.com/cbwire-v1/js-integrations/alpinejs.md)
- [Inline Scripts](https://cbwire.ortusbooks.com/cbwire-v1/js-integrations/inline-scripts.md)
- [Testing](https://cbwire.ortusbooks.com/cbwire-v1/testing.md)
- [Security](https://cbwire.ortusbooks.com/cbwire-v1/security.md)
- [Troubleshooting](https://cbwire.ortusbooks.com/cbwire-v1/troubleshooting.md)
- [CommandBox Commands](https://cbwire.ortusbooks.com/cbwire-v1/commandbox-commands.md)

## v2.x

- [Introduction](https://cbwire.ortusbooks.com/v2-1/master.md): CBWIRE is a ColdBox module that makes building modern, reactive CFML apps a breeze without the need for JavaScript frameworks such as Vue or React, and without the hassle of creating unnecessary APIs.
- [Release History](https://cbwire.ortusbooks.com/v2-1/release-history.md)
- [What's New With 2.2](https://cbwire.ortusbooks.com/v2-1/release-history/whats-new-with-2.2.md)
- [What's New With 2.1](https://cbwire.ortusbooks.com/v2-1/release-history/whats-new-with-2.1.md)
- [What's New With 2.0](https://cbwire.ortusbooks.com/v2-1/release-history/whats-new-with-2.0.md)
- [Getting Started](https://cbwire.ortusbooks.com/v2-1/getting-started.md): With CommandBox, you can start building reactive CFML apps in seconds.
- [Examples](https://cbwire.ortusbooks.com/v2-1/examples.md): See CBWIRE in action!
- [Configuration](https://cbwire.ortusbooks.com/v2-1/essentials/configuration.md): Alter CBWIRE's behavior with these nifty configuration options.
- [Wires](https://cbwire.ortusbooks.com/v2-1/essentials/creating-components.md): Wires are reactive UI elements you create. They include a powerful feature-set provided by CBWIRE.
- [Data Properties](https://cbwire.ortusbooks.com/v2-1/essentials/properties.md): Define reactive properties for your UI Wires with just a few lines of code.
- [Computed Properties](https://cbwire.ortusbooks.com/v2-1/essentials/computed-properties.md): Create dynamic properties for your UI Wires.
- [Computed Properties ( Proxied )](https://cbwire.ortusbooks.com/v2-1/essentials/computed-properties/computed-properties-proxied.md): Create dynamic properties for your UI Wires.
- [Actions](https://cbwire.ortusbooks.com/v2-1/essentials/actions.md): The magic sauce. Actions allow you to easily listen to page interactions and call a method on your Wires.
- [Templates](https://cbwire.ortusbooks.com/v2-1/essentials/templates.md): Your Wire's HTML. Simple as that. Honestly.
- [Events & Listeners](https://cbwire.ortusbooks.com/v2-1/essentials/events.md): You can emit events from both your Wires and JavaScript. Superb!
- [Wire Lifecycle](https://cbwire.ortusbooks.com/v2-1/essentials/lifecycle-events.md): Everything that has a beginning has an end. - The Oracle, Matrix
- [JavaScript](https://cbwire.ortusbooks.com/v2-1/essentials/javascript.md): Seamlessly connect between the front-end and your server back-end using JavaScript and CFML.
- [Testing](https://cbwire.ortusbooks.com/v2-1/essentials/testing.md): Front-end testing of your UI Wires using a beautiful test API.
- [Validation](https://cbwire.ortusbooks.com/v2-1/wire-features/validation.md)
- [File Uploads](https://cbwire.ortusbooks.com/v2-1/wire-features/file-uploads.md)
- [Query String](https://cbwire.ortusbooks.com/v2-1/wire-features/query-string.md)
- [Redirecting](https://cbwire.ortusbooks.com/v2-1/wire-features/redirecting.md): Similar to ColdBox, you can relocate users using relocate.
- [Dependency Injection](https://cbwire.ortusbooks.com/v2-1/wire-features/dependency-injection.md): Just as with ColdBox, you can inject your dependencies using WireBox.
- [Directives](https://cbwire.ortusbooks.com/v2-1/template-features/directives.md): CBWIRE's powerful directives allow you to listen for client side events, invoke actions, bind to data properties, and more.
- [Loading States](https://cbwire.ortusbooks.com/v2-1/template-features/loading-states.md): Help website users during wait times using Loading States.
- [Polling](https://cbwire.ortusbooks.com/v2-1/template-features/polling.md): Poll for state changes based on a specified interval without page refreshes. Hot dog!
- [Prefetching](https://cbwire.ortusbooks.com/v2-1/template-features/prefetching.md): Prefetch state changes when the user mouses over an HTML element. Fantastico!
- [Offline State](https://cbwire.ortusbooks.com/v2-1/template-features/offline-state.md): Toggle UI elements when the user is offline or online. Groovy!
- [Defer Loading](https://cbwire.ortusbooks.com/v2-1/template-features/defer-loading.md): Call an action immediately once your Wire is first rendered.
- [Dirty State](https://cbwire.ortusbooks.com/v2-1/template-features/dirty-state.md): Track changes to Data Properties and display changes in your UI instantly.
- [ContentBox CMS](https://cbwire.ortusbooks.com/v2-1/integrations/contentbox-cms.md): You can use CBWIRE alongside ContentBox to build modernize, reactive applications with a powerful CMS included.
- [Turbo](https://cbwire.ortusbooks.com/v2-1/integrations/turbo.md): Remove full-page reloads from your applications and create single-page applications with ease using Turbo.
- [AlpineJS](https://cbwire.ortusbooks.com/v2-1/integrations/alpinejs.md): Beautifully integrate your client-side JavaScript and CBWIRE using AlpineJS.
- [Inline Scripts](https://cbwire.ortusbooks.com/v2-1/integrations/inline-scripts.md): You can listen for livewire:load and place any JavaScript there.

## v3.x

- [Introduction](https://cbwire.ortusbooks.com/3.x/master.md): CBWIRE is a ColdBox module that helps you build modern, reactive CFML applications in record time - without using much JavaScript or building backend APIs. Become a web development hero with CBWIRE!
- [Getting Started](https://cbwire.ortusbooks.com/3.x/getting-started.md): Every journey starts somewhere.
- [Configuration](https://cbwire.ortusbooks.com/3.x/configuration.md): Change the internal behavior of CBWIRE as needed.
- [How It Works](https://cbwire.ortusbooks.com/3.x/how-it-works.md): HTML-over-the-wire explained.
- [Release History](https://cbwire.ortusbooks.com/3.x/release-history.md): Notes on each release.
- [What's New With 3.2](https://cbwire.ortusbooks.com/3.x/release-history/whats-new-with-3.2.md)
- [What's New With 3.1](https://cbwire.ortusbooks.com/3.x/release-history/whats-new-with-3.1.md)
- [What's New With 3.0](https://cbwire.ortusbooks.com/3.x/release-history/whats-new-with-3.0.md)
- [What's New With 2.2](https://cbwire.ortusbooks.com/3.x/release-history/whats-new-with-2.2.md)
- [What's New With 2.1](https://cbwire.ortusbooks.com/3.x/release-history/whats-new-with-2.1.md)
- [What's New With 2.0](https://cbwire.ortusbooks.com/3.x/release-history/whats-new-with-2.0.md)
- [Examples](https://cbwire.ortusbooks.com/3.x/examples.md): Code snippets to inspire and get you started.
- [Contact Form](https://cbwire.ortusbooks.com/3.x/examples/contact-form.md)
- [Multi-select Input](https://cbwire.ortusbooks.com/3.x/examples/multi-select-input.md)
- [File Upload](https://cbwire.ortusbooks.com/3.x/examples/file-upload.md)
- [Resources](https://cbwire.ortusbooks.com/3.x/resources.md): Examples, webinars, screencasts, and more.
- [Components](https://cbwire.ortusbooks.com/3.x/essentials/components.md): Sections or areas of your app that are reactive to user input.
- [Templates](https://cbwire.ortusbooks.com/3.x/essentials/templates.md): The HTML that makes up your components.
- [Data Properties](https://cbwire.ortusbooks.com/3.x/essentials/properties.md): The state of the our components.
- [Computed Properties](https://cbwire.ortusbooks.com/3.x/essentials/computed-properties.md): Dynamic, cached, properties that can return any CFML data type.
- [Actions](https://cbwire.ortusbooks.com/3.x/essentials/actions.md): Methods that are invoked based on user interactions.
- [Events](https://cbwire.ortusbooks.com/3.x/essentials/events.md): A simple way for UI components to communicate with each other.
- [Lifecycle Methods](https://cbwire.ortusbooks.com/3.x/essentials/lifecycle-events.md): Various component lifecycle events you can leverage for your needs.
- [JavaScript](https://cbwire.ortusbooks.com/3.x/essentials/javascript.md): Call Actions, emit and listen for Events, and more - all from Vanilla JavaScript.
- [Testing](https://cbwire.ortusbooks.com/3.x/essentials/testing.md): Test your components using TestBox.
- [Validation](https://cbwire.ortusbooks.com/3.x/wire-features/validation.md): Powerful validations for your forms and input elements.
- [File Uploads](https://cbwire.ortusbooks.com/3.x/wire-features/file-uploads.md): Provide your users with file uploads and thumbnail previews without page refreshes.
- [Query String](https://cbwire.ortusbooks.com/3.x/wire-features/query-string.md): Set your data properties with incoming query string values.
- [Redirecting](https://cbwire.ortusbooks.com/3.x/wire-features/redirecting.md): Methods to redirect your users where you need.
- [WireBox](https://cbwire.ortusbooks.com/3.x/wire-features/wirebox.md): ColdBox's dependency injection framework, right there when you need it.
- [Directives](https://cbwire.ortusbooks.com/3.x/template-features/directives.md): HTML directives to make your app come alive.
- [Loading States](https://cbwire.ortusbooks.com/3.x/template-features/loading-states.md): Show your users loading spinners, modals, and more as they wait for requests to complete.
- [Polling](https://cbwire.ortusbooks.com/3.x/template-features/polling.md): Update your components automatically based on a set time interval.
- [Prefetching](https://cbwire.ortusbooks.com/3.x/template-features/prefetching.md): Prefetch component updates as the user mouses over HTML elements.
- [Offline State](https://cbwire.ortusbooks.com/3.x/template-features/offline-state.md): Display modals, alerts, or any HTML when your users are offline.
- [Defer Loading](https://cbwire.ortusbooks.com/3.x/template-features/defer-loading.md): Improve user's perceived load times by using deferred loading.
- [Dirty State](https://cbwire.ortusbooks.com/3.x/template-features/dirty-state.md): Display HTML elements as data properties change but haven't been updated server-side yet.
- [ContentBox CMS](https://cbwire.ortusbooks.com/3.x/integrations/contentbox-cms.md): Use CBWIRE with ContentBox to provide your users a modern CMS-powered app.
- [SPAs with Turbo](https://cbwire.ortusbooks.com/3.x/integrations/spas-with-turbo.md): Create single-page-like applications (SPAs) with little-to-no JavaScript in record time.
- [AlpineJS](https://cbwire.ortusbooks.com/3.x/integrations/alpinejs.md): Alpine JS brings simple client-side reactivity when you need it and integrates beautifully with CBWIRE.

## v4.x

- [Introduction](https://cbwire.ortusbooks.com/cbwirev4/readme.md): CBWIRE is a ColdBox module that uses Livewire and Alpine.js to help you build modern, reactive BoxLang and CFML applications in record time without building backend APIs.
- [How It Works](https://cbwire.ortusbooks.com/cbwirev4/how-it-works.md)
- [Getting Started](https://cbwire.ortusbooks.com/cbwirev4/getting-started.md)
- [Configuration](https://cbwire.ortusbooks.com/cbwirev4/configuration.md)
- [Releases](https://cbwire.ortusbooks.com/cbwirev4/releases.md)
- [What's New With 4.1](https://cbwire.ortusbooks.com/cbwirev4/releases/whats-new-with-4.1.md)
- [What's New With 4.0](https://cbwire.ortusbooks.com/cbwirev4/releases/whats-new-with-4.0.md)
- [What's New With 3.2](https://cbwire.ortusbooks.com/cbwirev4/releases/whats-new-with-3.2.md)
- [What's New With 3.1](https://cbwire.ortusbooks.com/cbwirev4/releases/whats-new-with-3.1.md)
- [What's New With 3.0](https://cbwire.ortusbooks.com/cbwirev4/releases/whats-new-with-3.0.md)
- [What's New With 2.2](https://cbwire.ortusbooks.com/cbwirev4/releases/whats-new-with-2.2.md)
- [What's New With 2.1](https://cbwire.ortusbooks.com/cbwirev4/releases/whats-new-with-2.1.md)
- [What's New With 2.0](https://cbwire.ortusbooks.com/cbwirev4/releases/whats-new-with-2.0.md)
- [Resources](https://cbwire.ortusbooks.com/cbwirev4/resources.md)
- [Upgrading from CBWIRE 3.x](https://cbwire.ortusbooks.com/cbwirev4/upgrading-from-cbwire-3.x.md)
- [Upgrading from CBWIRE 2.x](https://cbwire.ortusbooks.com/cbwirev4/upgrading-from-cbwire-2.x.md)
- [CBWIRE CLI](https://cbwire.ortusbooks.com/cbwirev4/cbwire-cli.md)
- [Components](https://cbwire.ortusbooks.com/cbwirev4/the-essentials/components.md)
- [Templates](https://cbwire.ortusbooks.com/cbwirev4/the-essentials/templates.md)
- [Data Properties](https://cbwire.ortusbooks.com/cbwirev4/the-essentials/properties.md)
- [Computed Properties](https://cbwire.ortusbooks.com/cbwirev4/the-essentials/computed-properties.md)
- [Data Binding](https://cbwire.ortusbooks.com/cbwirev4/the-essentials/data-binding.md)
- [Actions](https://cbwire.ortusbooks.com/cbwirev4/the-essentials/actions.md)
- [Events](https://cbwire.ortusbooks.com/cbwirev4/the-essentials/events.md)
- [Nesting Components](https://cbwire.ortusbooks.com/cbwirev4/the-essentials/nesting-components.md)
- [Lifecycle Methods](https://cbwire.ortusbooks.com/cbwirev4/the-essentials/lifecycle-events.md)
- [JavaScript](https://cbwire.ortusbooks.com/cbwirev4/the-essentials/javascript.md)
- [Testing](https://cbwire.ortusbooks.com/cbwirev4/the-essentials/testing.md): Test your components using TestBox.
- [Single-file Components](https://cbwire.ortusbooks.com/cbwirev4/features/single-file-components.md)
- [Alpine.js](https://cbwire.ortusbooks.com/cbwirev4/features/alpine.js.md)
- [Lazy Loading](https://cbwire.ortusbooks.com/cbwirev4/features/lazy-loading.md)
- [Form Validation](https://cbwire.ortusbooks.com/cbwirev4/features/form-validation.md)
- [File Uploads](https://cbwire.ortusbooks.com/cbwirev4/features/file-uploads.md)
- [Query String](https://cbwire.ortusbooks.com/cbwirev4/features/query-string.md)
- [Redirecting](https://cbwire.ortusbooks.com/cbwirev4/features/redirecting.md)
- [WireBox](https://cbwire.ortusbooks.com/cbwirev4/features/wirebox.md)
- [wire:click](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-click.md)
- [wire:confirm](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-confirm.md)
- [wire:dirty](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-dirty.md)
- [wire:ignore](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-ignore.md)
- [wire:init](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-init.md)
- [wire:key](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-key.md)
- [wire:loading](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-loading.md)
- [wire:model](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-model.md)
- [wire:navigate](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-navigate.md)
- [wire:offline](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-offline.md)
- [wire:poll](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-poll.md)
- [wire:stream](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-stream.md)
- [wire:submit](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-submit.md)
- [wire:transition](https://cbwire.ortusbooks.com/cbwirev4/template-directives/wire-transition.md)
- [Troubleshooting](https://cbwire.ortusbooks.com/cbwirev4/advanced/troubleshooting.md)

## v5.x

- [Introduction](https://cbwire.ortusbooks.com/readme.md): CBWIRE is a ColdBox module that uses Livewire and Alpine.js to help you build modern, reactive BoxLang and CFML applications in record time without building backend APIs.
- [How It Works](https://cbwire.ortusbooks.com/how-it-works.md)
- [Getting Started](https://cbwire.ortusbooks.com/getting-started.md)
- [Configuration](https://cbwire.ortusbooks.com/configuration.md)
- [Releases](https://cbwire.ortusbooks.com/releases.md)
- [What's New With 5.0](https://cbwire.ortusbooks.com/releases/whats-new-with-5.0.md)
- [What's New With 4.1](https://cbwire.ortusbooks.com/releases/whats-new-with-4.1.md)
- [What's New With 4.0](https://cbwire.ortusbooks.com/releases/whats-new-with-4.0.md)
- [What's New With 3.2](https://cbwire.ortusbooks.com/releases/whats-new-with-3.2.md)
- [What's New With 3.1](https://cbwire.ortusbooks.com/releases/whats-new-with-3.1.md)
- [What's New With 3.0](https://cbwire.ortusbooks.com/releases/whats-new-with-3.0.md)
- [What's New With 2.2](https://cbwire.ortusbooks.com/releases/whats-new-with-2.2.md)
- [What's New With 2.1](https://cbwire.ortusbooks.com/releases/whats-new-with-2.1.md)
- [What's New With 2.0](https://cbwire.ortusbooks.com/releases/whats-new-with-2.0.md)
- [Resources](https://cbwire.ortusbooks.com/resources.md)
- [CBWIRE CLI](https://cbwire.ortusbooks.com/cbwire-cli.md)
- [Components](https://cbwire.ortusbooks.com/the-essentials/components.md)
- [Templates](https://cbwire.ortusbooks.com/the-essentials/templates.md)
- [Data Properties](https://cbwire.ortusbooks.com/the-essentials/properties.md)
- [Computed Properties](https://cbwire.ortusbooks.com/the-essentials/computed-properties.md)
- [Data Binding](https://cbwire.ortusbooks.com/the-essentials/data-binding.md)
- [Actions](https://cbwire.ortusbooks.com/the-essentials/actions.md)
- [Events](https://cbwire.ortusbooks.com/the-essentials/events.md)
- [Nesting Components](https://cbwire.ortusbooks.com/the-essentials/nesting-components.md)
- [Lifecycle Methods](https://cbwire.ortusbooks.com/the-essentials/lifecycle-events.md)
- [JavaScript](https://cbwire.ortusbooks.com/the-essentials/javascript.md)
- [Testing](https://cbwire.ortusbooks.com/the-essentials/testing.md): Test your components using TestBox.
- [Single-file Components](https://cbwire.ortusbooks.com/features/single-file-components.md)
- [Alpine.js](https://cbwire.ortusbooks.com/features/alpine.js.md)
- [Lazy Loading](https://cbwire.ortusbooks.com/features/lazy-loading.md)
- [Form Validation](https://cbwire.ortusbooks.com/features/form-validation.md)
- [File Uploads](https://cbwire.ortusbooks.com/features/file-uploads.md)
- [Query String](https://cbwire.ortusbooks.com/features/query-string.md)
- [Redirecting](https://cbwire.ortusbooks.com/features/redirecting.md)
- [WireBox](https://cbwire.ortusbooks.com/features/wirebox.md)
- [Security](https://cbwire.ortusbooks.com/features/security.md)
- [wire:click](https://cbwire.ortusbooks.com/template-directives/wire-click.md)
- [wire:cloak](https://cbwire.ortusbooks.com/template-directives/wire-cloak.md)
- [wire:confirm](https://cbwire.ortusbooks.com/template-directives/wire-confirm.md)
- [wire:current](https://cbwire.ortusbooks.com/template-directives/wire-current.md)
- [wire:dirty](https://cbwire.ortusbooks.com/template-directives/wire-dirty.md)
- [wire:ignore](https://cbwire.ortusbooks.com/template-directives/wire-ignore.md)
- [wire:init](https://cbwire.ortusbooks.com/template-directives/wire-init.md)
- [wire:key](https://cbwire.ortusbooks.com/template-directives/wire-key.md)
- [wire:loading](https://cbwire.ortusbooks.com/template-directives/wire-loading.md)
- [wire:model](https://cbwire.ortusbooks.com/template-directives/wire-model.md)
- [wire:navigate](https://cbwire.ortusbooks.com/template-directives/wire-navigate.md)
- [wire:offline](https://cbwire.ortusbooks.com/template-directives/wire-offline.md)
- [wire:poll](https://cbwire.ortusbooks.com/template-directives/wire-poll.md)
- [wire:replace](https://cbwire.ortusbooks.com/template-directives/wire-replace.md)
- [wire:show](https://cbwire.ortusbooks.com/template-directives/wire-show.md)
- [wire:stream](https://cbwire.ortusbooks.com/template-directives/wire-stream.md)
- [wire:submit](https://cbwire.ortusbooks.com/template-directives/wire-submit.md)
- [wire:text](https://cbwire.ortusbooks.com/template-directives/wire-text.md)
- [wire:transition](https://cbwire.ortusbooks.com/template-directives/wire-transition.md)
- [Troubleshooting](https://cbwire.ortusbooks.com/advanced/troubleshooting.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://cbwire.ortusbooks.com/readme.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
