# Overview of Zephyr Adaption The following is a quick overview of the Zephyr adaptation of CHIP. Most of this code will have parallels in any new adaptation. (All file names are relative to `connectedhomeip/src/...`). `include/platform/Zephyr/PlatformManagerImpl.h`
`Zephyr/PlatformManagerImpl.cpp` - Concrete implementation of PlatformManager interface - Provides initialization of the CHIP stack and core event loop for the chip task - Relies on GenericPlatformManagerImpl_POSIX<> class to provide most of the implementation `include/platform/Zephyr/ConfigurationManagerImpl.h`
`Zephyr/ConfigurationManagerImpl.cpp` - Concrete implementation of ConfigurationManager interface - Manages storage and retrieval of persistent configuration data - Relies on GenericConfigurationManagerImpl<> classes to implement most API functionality - Delegates low-level reading and writing of persistent values to ZephyrConfig class `include/platform/Zephyr/ThreadStackManagerImpl.h`
`Zephyr/ThreadStackManagerImpl.cpp` - Concrete implementation of ThreadStackManager interface - Supports Thread stack initialization and core event loop processing - Relies on GenericThreadStackManagerImpl_OpenThread/POSIX<> classes to implement most API functionality `include/platform/Zephyr/BLEManagerImpl.h`
`Zephyr/BLEManagerImpl.cpp` - Concrete implementation of the BLEManager interface - Maps CHIP's BLE interface abstractions (BleLayer, BlePlatformDelegate, BleApplicationDelegate) onto the platform's native BLE services - Implements chip-compatible BLE advertising. `platform/Zephyr/Logging.cpp` - Adaption of chip debug logging to platform logging facility. `platform/Zephyr/ZephyrConfig.cpp` - Implements low-level read/write of persistent configuration values - Class API specifically designed to work in conjunction with the GenericConfigurationManagerImpl<> class. `platform/Zephyr/CHIPDevicePlatformEvent.h` - Defines platform-specific event types and data for the chip Device Layer.