+Layers are entities that means the application stack group defined in `layers.json`.
+This doesn't mean layer ID defined in GENIVI ivi layer.
+The layer ID is used for application itself in Window Manager.
+Currently, application can't have multiple surfaces in Window Manager.
+
+### Surfaces
+
+Surfaces are *placed* on layers . The surface
+will then be resized to dimensions, according to the name of `areas.json`
+application requests by `activateWindow` or policy management.
+As default, `normal.full` is set by libwindowmanager for native application.
+
+### Configuration
+
+The window manager is configured with the *layers.json*, *areas.json*, *roles.db* configuration
+files. By default they are searched in `${AFM_APP_INSTALL_DIR}/etc/`.
+
+Sample configurations are provided with the window manager
+implementation, these samples are installed to ${AFM_APP_INSTALL_DIR}/etc/ .
+
+This configuration is supposed to be configured by policy designer which means OEM or Tier1.
+
+#### layers.json
+
+`layers.json` has three roles.
+
+1. Create application containers `Layer`.
+1. Set id range for applications.
+1. Attach application to `Layer` according to the role application requests.
+
+The sample configuration is here
+
+```json
+{
+ "comment": "Surface ID to Layer ID mapping",
+
+ "main_surface": {
+ "surface_role": "HomeScreen",
+ "comment": "This surface should never be made invisible (The HomeScreen)"
+ },
+
+ "mappings": [