# documentation:2.0:handlerarch
Keywords: documentation,2.0,handlerarch

# Handler architecture

Handlers are build on rows of modules:

- Applications or launchers that get the request and choose the good type (Main, AuthBasic, ZimbraPreAuth,…) and launch it (may not inherits of other Handler::* modules)
- Wrappers that call “type” library and platform “Main” (may all inherits from Platform::Main)
- library types if needed (may inherits from Main)
- Main: the main handler library

## Overview of Handler packages

Platform | Wrapper | Types | Main
--- | --- | --- | ---
Applications | Launchers
| ApacheMP2 | ApacheMP2::<type> | Lib::<type> | Main
Server | Server::<type>
PSGI | PSGI::<type>

Types are:

- (Main): link between Main and platform
- AuthBasic
- ZimbraPreAuth (not available for PSGI)
- SecureToken (not available for PSGI)
- CDA