diff --git a/doc/OpenSlice_deployment_examples.md b/doc/OpenSlice_deployment_examples.md
new file mode 100644
index 0000000000000000000000000000000000000000..5428b31abbf4e1375ac9d47137d6430418a1f41a
--- /dev/null
+++ b/doc/OpenSlice_deployment_examples.md
@@ -0,0 +1,52 @@
+# OpenSlice deployment examples
+
+Here are some examples from various efforts that used OpenSlice in various cases.
+
+## 5GinFIRE EU project(2018)
+
+* MultiVIM approach
+* 9 Testbeds
+* Automotive, Smart City, eHeath, PPDR, Media, SDR, Cloud
+* 22 Experiment proposals from Verticals
+* 100+ Users
+* VxF catalog: 
+  * 150+ ONBOARDED VxFs
+  * OSM TWO, FOUR, FIVE
+  * 50+ are public to be reused
+* NSD catalog: 
+  * 90+ ONBOARDED NSDs
+  * 30+ are public to be reused
+  * 500+ Deployment requests (orchestrations) performed
+
+
+## 5G-VINNI  EU project (2020)
+
+* Multi-vendor challenge – Commercial and opensource
+* 5G services on multiple sites
+* Introduction of TMFORUM models and APIs 
+
+## 5GASP  EU project (2021-2024)
+
+* Support a multi-site CI/CD testing automated DevOps cycle for network Applications
+* Multiple NFVOs
+* Introducing Service Test models
+* Introducing the Product models for a network application marketplace
+
+## FIDAL EU project (2023-)
+
+* Support multi-site automated testing
+* Multiple testbeds/ different APIs
+
+## ACROSS EU project (2023-)
+
+* Used as a cross-domain orchestrator
+* Support the multi-domain orchestrator
+* Support Zero-touch provisioning concepts
+
+## INCODE EU project (2023-)
+
+* Support the provisioning of end-to-end domain services
+
+## ETSI ZSM PoC #2
+
+* Automated Network Slice Scaling in Multi-Site Environments
diff --git a/doc/etsi_osl.md b/doc/etsi_osl.md
new file mode 100644
index 0000000000000000000000000000000000000000..862ca1d88d4219ddfa4285f3340c0d02cad11a3f
--- /dev/null
+++ b/doc/etsi_osl.md
@@ -0,0 +1,3 @@
+# The ETSi SDG OSL
+
+OpenSlice is developed by the OSL ETSI Software Development Group [see more info](https://osl.etsi.org/)
\ No newline at end of file
diff --git a/doc/history.md b/doc/history.md
new file mode 100644
index 0000000000000000000000000000000000000000..d4c915f419d6ac72fde051c176a1797058d1475a
--- /dev/null
+++ b/doc/history.md
@@ -0,0 +1,22 @@
+## History
+
+* The NFV portal part of OpenSlice was initially developed in H2020 European Research project [5GinFIRE](https://5ginfire.eu) by University of Patras, Greece
+* OpenSlice core services, APIs was further developed and maintained in H2020 European project [5G-VINNI](https://5g-vinni.eu/) by University of Patras, Greece
+* OpenSlice has been a part of OSM's OSS/BSS ecosystem
+* OpenSlice is now an ETSI SDG Group since 2023
+
+
+## Citation
+
+Please cite our [![paper]](https://arxiv.org/abs/2102.03290) if you use OpenSlice in your research
+
+```
+
+@misc{tranoris2021openslice,
+      title={Openslice: An opensource OSS for Delivering Network Slice as a Service}, 
+      author={Christos Tranoris},
+      year={2021},
+      eprint={2102.03290},
+      archivePrefix={arXiv},
+      primaryClass={cs.NI}
+}
\ No newline at end of file
diff --git a/doc/index.md b/doc/index.md
index 2f6dbf43abf156c025fdcfe2c28ad2ab4dbac097..db9c0b7b1150ad9fb0675ea6edac35bbbb6b34e0 100644
--- a/doc/index.md
+++ b/doc/index.md
@@ -41,7 +41,7 @@ In general an E2E service orchestration workflow includes the following phases:
 
 ### OpenSlice for Service Providers
 
-OpenSlice is used by Service Provider to design Network Services, expose them in Service Catalogues and make them available for Service Order. OpenSlice then can perform the E2E service orchestration workflow.
+OpenSlice is used by Service Providers to design Network Services, expose them in Service Catalogues and make them available for Service Orders. OpenSlice then can perform the E2E service orchestration workflow.
 
 There are various portals offering UI friendly access to users acting as Service Providers:
 
@@ -66,13 +66,6 @@ There are various portals offering UI friendly access to users acting as Service
 
 
 
-# What's next
-
-
-See [Deployment](deployment.md) of OpenSlice
-
-See [Architecture](./architecture/architecture.md) of OpenSlice
-
 ## Live Demo
 
 Check a live demo of OpenSlice in the following pages:
@@ -82,31 +75,20 @@ Check a live demo of OpenSlice in the following pages:
 * OpenSlice demo: <http://portal.openslice.io/>
 * OpenSlice Service Catalogs and ordering: <http://portal.openslice.io/services/>
 * OpenSlice NFV Services onboarding: <http://portal.openslice.io/nfvportal>
+>
 > 
 
+# What's next
 
+Installing OpenSlice. See the [Deployment](deployment.md) of OpenSlice
 
-## History
-
-* The NFV portal part of OpenSlice was initially developed in H2020 European Research project [5GinFIRE](https://5ginfire.eu) by University of Patras, Greece
-* OpenSlice core services, APIs was further developed and maintained in H2020 European project [5G-VINNI](https://5g-vinni.eu/) by University of Patras, Greece
-* OpenSlice has been a part of OSM's OSS/BSS ecosystem
-* OpenSlice is now an ETSI SDG Group since 2023
+Lear more on [how OpenSlice supports Network as a Service(NaaS)](./naas/introduction.md)
 
+Who is implementing OpenSlice? See [OSL ETSI SDG](https://osl.etsi.org/)
 
-## Citation
+How OpenSlice works? See the [Architecture](./architecture/architecture.md) of OpenSlice
 
-Please cite our [![paper]](https://arxiv.org/abs/2102.03290) if you use Openslice
 
-```
 
-@misc{tranoris2021openslice,
-      title={Openslice: An opensource OSS for Delivering Network Slice as a Service}, 
-      author={Christos Tranoris},
-      year={2021},
-      eprint={2102.03290},
-      archivePrefix={arXiv},
-      primaryClass={cs.NI}
-}
 
 ```
\ No newline at end of file
diff --git a/doc/naas/exposed_apis.md b/doc/naas/exposed_apis.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/introduction.md b/doc/naas/introduction.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/lcm_intro.md b/doc/naas/lcm_intro.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/lcm_rules_intro.md b/doc/naas/lcm_rules_intro.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/nfv/intro.md b/doc/naas/nfv/intro.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/nfv/nfvcatalogs.md b/doc/naas/nfv/nfvcatalogs.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/resource_catalog.md b/doc/naas/resource_catalog.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/resource_inventory.md b/doc/naas/resource_inventory.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/resource_spec.md b/doc/naas/resource_spec.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/service_catalog.md b/doc/naas/service_catalog.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/service_inventory.md b/doc/naas/service_inventory.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/service_spec.md b/doc/naas/service_spec.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/so_intro.md b/doc/naas/so_intro.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/so_servicespec_to_services_kubernetes.md b/doc/naas/so_servicespec_to_services_kubernetes.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/naas/so_servicespec_to_services_nfv.md b/doc/naas/so_servicespec_to_services_nfv.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/ole_keycloak_management.md b/doc/ole_keycloak_management.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/service_design/intro.md b/doc/service_design/intro.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/service_design/kubernetes/ExposingKubernetesResources.md b/doc/service_design/kubernetes/ExposingKubernetesResources.md
new file mode 100644
index 0000000000000000000000000000000000000000..0a64cdd9d89ed6f246166081133c290a06780d30
--- /dev/null
+++ b/doc/service_design/kubernetes/ExposingKubernetesResources.md
@@ -0,0 +1,169 @@
+
+# Expose and manage Kubernetes Custom Resource Definitions (Operators) in a Kubernetes Cluster
+
+OpenSlice is capable of exposing Kubernetes Resources and Definitions as Service Specifications
+
+## Intended Audience: Service Designers
+ 
+ >  Kubernetes is an orchestration system for automating software deployment, scaling, and management. One can interact though the Kubernetes API and it has a set of objects ready for use out of the box. Custom Resource Definitions (CRDs) is a way that allows to manage things other than Kubernetes itself and allows to create our own objects The use of CRDs makes the possibilities of Kubernetes management almost limitless. You can extend the base Kubernetes API with any object you like using CRDs.
+ 
+ > By allowing the design and lifecycle management of services/resources that expose CRDs/CRs in a Kubernetes cluster via the TMF APIs, OSL can be used in many complex scenarios now involing resources from multiple domains.
+ 
+
+1. OpenSlice is capable to:
+    - Create and manage Custom Resources (CRs) using installed CRDs on a target Kubernetes cluster.
+    - Facilitate complex orchestration scenarios by wrapping Kubernetes APIs as TMF APIs and models.
+    - Handles connectivity to a Kubernetes cluster and manages the lifecycle of CRDs
+    - Wraps the Kubernetes API, Receives and provides resources towards other OpenSlice services via the service bus
+        
+2. Enabling Loose Coupling and Orchestration
+    - Language Flexibility: Developers can write CRDs in any language and expose them via the Kubernetes APIs. OSL will reuse these CRDs, enhancing flexibility and integration capabilities.
+    - Familiar Deployment: Developers can create and deploy applications using familiar tools such as Helm charts, simplifying the process and reducing the learning curve.
+
+3. Ecosystem Reusability
+    - OpenSlice capitalizes on the extensive Kubernetes ecosystem, particularly focusing on operators (CRDs).
+    - Key repositories and hubs such as artifacthub.io and Operatorhub.io can be utilized for finding and deploying operators.
+
+4. Service Catalog Exposure and Deployment
+    - OpenSlice can expose CRs in service catalogs, facilitating their deployment in complex scenarios.
+    - These scenarios may include service bundles that involve multiple systems, such as RAN controllers or other Kubernetes clusters, providing a robust and versatile deployment framework.
+
+# Approach
+
+ > OpenSlice in general is responible for exposing service specifications  which are ready to be ordered and orchestrated, through tmforum Open APIs as defined in the OSL Service Spec Catalog. Usually for a service specification a corresponding (one or more) resource specification (resourceSpecificationReference) is registered in the OSL Resource Spec Catalog.
+ 
+The following image illustrates the approach.
+
+<img src="img01.png" width=1024px>
+
+1. A CRD in a cluster will be mapped in TMF model as a Resource specification and therefore can be exposed as a service specification in a catalog
+2. Service Orders can be created for this service specification. 
+3. OSOM creates a Resource in OSL Resource inventory and requests new Custom Resource (CR) in the target cluster
+	- The resource is created in a specific namespace (for example the UUID of the Service Order)
+	- A CR in a cluster will be mapped in TMF model as a Resource in the resource Inventory
+	- Other related resources created by the CRD Controller within the namespace are automatically created in OSL Resource Inventory under the same Service Order
+
+ 
+#  Awareness for CRDs and CRs in cluster
+
+> CRDs and CRs can appear (disappear) or change status at any time in a cluster. OpenSlice Resource Inventory need to be aware of these events.
+ 
+ When installing OpenSlice you can configure at least one management cluster. OpenSlice connects via a provided kubeconf
+ 
+- On Start up OSL  tries to register this cluster and context to OSL catalogs.
+- After the registration of this cluster as a Resource in OSL OSL is always aware of all CRDs and their CRs in the cluster, even if a CRD or CR is added/updated/deleted in the K8S cluster outside of OSL
+- Resources created by OpenSlice have labels, e.g. (org.etsi.osl.*)
+
+# Expose CRDs as Service Specifications in OpenSlice catalogs 
+
+**A CRD by default is exposed as a Resource Specification**
+
+To ensure unique names across the clusters that OpenSlice can manage, the name of a CRD is constructed as follows:
+
+```Kind @ ApiGroup/version @ ContextCluster @ masterURL```
+
+For example you might see resource Specifications like:
+
+	- ```Application@argoproj.io/v1alpha1@kubernetes@https://10.10.10.144:6443/```
+	- ```IPAddressPool@metallb.io/v1beta1@kubernetes@https://10.10.10.144:6443/```
+	- ```Provider@pkg.crossplane.io/v1@kubernetes@https://10.10.10.144:6443/```
+
+All attributes of the CRD are translated into characteristics
+
+The following specific characteristics are **added**:
+
+		- _CR_SPEC: Used for providing the json Custom Resource description to apply
+		- _CR_CHECK_FIELD: Used for providing the field that need to be checked for the resource status
+		- _CR_CHECKVAL_STANDBY: Used for providing the equivalent value from resource to signal the standby status
+		- _CR_CHECKVAL_ALARM: Used for providing the equivalent value from resource to signal the alarm status
+		- _CR_CHECKVAL_AVAILABLE: Used for providing the equivalent value from resource to signal the available status
+		- _CR_CHECKVAL_RESERVED: Used for providing the equivalent value from resource to signal the reserved status
+		- _CR_CHECKVAL_UNKNOWN: Used for providing the equivalent value from resource to signal the unknown status
+		- _CR_CHECKVAL_SUSPENDED: Used for providing the equivalent value from resource to signal the suspended status
+		
+		
+1. Create a new Service Specification and use this Resource Specification in Resource Specification Relationships
+	- Then the Service Specification is saved as ResourceFacingServiceSpecification
+	
+	1.1. You can give at this stage values to the characteristics:
+	
+		- _CR_SPEC, 
+		- _CR_CHECK_FIELD
+		- _CR_CHECKVAL_STANDBY
+		- _CR_CHECKVAL_ALARM
+		- _CR_CHECKVAL_AVAILABLE
+		- _CR_CHECKVAL_RESERVED
+		- _CR_CHECKVAL_UNKNOWN
+		- _CR_CHECKVAL_SUSPENDED
+		
+	1.2. You can now create LCM rules if you wish
+	
+2. Create a new Service Specification and use the Resource Facing Service Specification in Service Specification Relationships
+	- Then the Service Specification is saved as CustomerFacingServiceSpecification
+	
+	2.1. You can give at this stage values to the characteristics: 
+	
+		- _CR_SPEC, 
+		- _CR_CHECK_FIELD
+		- _CR_CHECKVAL_STANDBY
+		- _CR_CHECKVAL_ALARM
+		- _CR_CHECKVAL_AVAILABLE
+		- _CR_CHECKVAL_RESERVED
+		- _CR_CHECKVAL_UNKNOWN
+		- _CR_CHECKVAL_SUSPENDED
+		
+	2.2. You We can create LCM rules for this new Service Specification
+	
+	2.3. You Expose configurable values for users to configure during service order
+
+<img src="img06.png" width=1024px>
+		
+
+# Service Orchestration and CRDs/CRs
+
+OSOM - OpenSlice Service Orchestrator, checks the presence of attribute _CR_SPEC at the RFS to make a request for a CR deployment
+
+- _CR_SPEC is a JSON or YAML string that is used for the request
+	- It is similar to what one will do with e.g. a kubectl apply
+	- There are tools to translate a yaml file to a json
+
+> LCM rules can be used to change attributes of this yaml/json file, before sending this for orchestration
+
+
+## Mapping the CR lifecycle that is defined in the CRD with the OpenSLice (TMF-based) resource Lifecycle
+
+OpenSlice adds automatically as we see the following characteristics: 
+
+		- _CR_CHECK_FIELD
+		- _CR_CHECKVAL_STANDBY
+		- _CR_CHECKVAL_ALARM
+		- _CR_CHECKVAL_AVAILABLE
+		- _CR_CHECKVAL_RESERVED
+		- _CR_CHECKVAL_UNKNOWN
+		- _CR_CHECKVAL_SUSPENDED
+		
+**These characteristics instrument OpenSlice services to manage and reflect the lifecycle of a kubernetes resource to OpenSlice's (TMF based) lifecycle**
+
+
+- _CR_CHECK_FIELD: The name of the field that is needed to be monitored in order to monitor the status of the service and translate it to TMF resource statys (RESERVED AVAILABLE, etc) 
+- _CR_CHECKVAL_STANDBY: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state STANDBY (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) 
+- _CR_CHECKVAL_ALARM: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state ALARMS (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) 
+- _CR_CHECKVAL_AVAILABLE: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state AVAILABLE (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) 
+- _CR_CHECKVAL_RESERVED: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state RESERVED (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) 
+- _CR_CHECKVAL_UNKNOWN: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state UNKNOWN (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) 
+- _CR_CHECKVAL_SUSPENDED: The CR specific value (of the CheckFieldName) that needs to me mapped to the TMF resource state SUSPENDED (see org.etsi.osl.tmf.ri639.model.ResourceStatusType) 
+
+
+---
+
+## What's next?
+
+
+ -  See examples of exposing operators via OpenSlice:
+ 	- [Exposing Kubernetes Operators as a Service : Offering "Calculator as a Service" through OpenSlice](ExposingCRDs_aaS_Example_Calculator.md)
+ -	[Learn more about CRIDGE, the service in OSL that manages CRDs/CRs](CRIDGEforDevelopers_Jenkins_Example.md)
+ 	
+ 	
+ 	
+ 	
+
diff --git a/doc/service_design/kubernetes/design_helmaas.md b/doc/service_design/kubernetes/design_helmaas.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/doc/service_design/kubernetes/img01.png b/doc/service_design/kubernetes/img01.png
new file mode 100644
index 0000000000000000000000000000000000000000..d9f6f73dd21ff94572fd411c68e31a2915426f70
Binary files /dev/null and b/doc/service_design/kubernetes/img01.png differ
diff --git a/doc/service_design/kubernetes/img02.png b/doc/service_design/kubernetes/img02.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb546ad61cce1ce5c9cc593507f816ef64c7bcc5
Binary files /dev/null and b/doc/service_design/kubernetes/img02.png differ
diff --git a/doc/service_design/kubernetes/img03.png b/doc/service_design/kubernetes/img03.png
new file mode 100644
index 0000000000000000000000000000000000000000..79d0d2a208ca3c63489264a87d4a155d44d12cc4
Binary files /dev/null and b/doc/service_design/kubernetes/img03.png differ
diff --git a/doc/service_design/kubernetes/img04.png b/doc/service_design/kubernetes/img04.png
new file mode 100644
index 0000000000000000000000000000000000000000..233831d1bb986c92432fdaff602db44fc2c0df48
Binary files /dev/null and b/doc/service_design/kubernetes/img04.png differ
diff --git a/doc/service_design/kubernetes/img05.png b/doc/service_design/kubernetes/img05.png
new file mode 100644
index 0000000000000000000000000000000000000000..3b05561502893694d3d72d12cbbfc154786da853
Binary files /dev/null and b/doc/service_design/kubernetes/img05.png differ
diff --git a/doc/service_design/kubernetes/img06.png b/doc/service_design/kubernetes/img06.png
new file mode 100644
index 0000000000000000000000000000000000000000..ef8d3879cbb887e5ce686a246b981da14cb6e64c
Binary files /dev/null and b/doc/service_design/kubernetes/img06.png differ
diff --git a/doc/service_design/kubernetes/img07.png b/doc/service_design/kubernetes/img07.png
new file mode 100644
index 0000000000000000000000000000000000000000..6990bf18122d41d5c3eee345270c4c18b5b0a1dc
Binary files /dev/null and b/doc/service_design/kubernetes/img07.png differ
diff --git a/doc/service_design/kubernetes/img08.png b/doc/service_design/kubernetes/img08.png
new file mode 100644
index 0000000000000000000000000000000000000000..fdb27bf11096f00458a89586ae5efc2cb8e162b8
Binary files /dev/null and b/doc/service_design/kubernetes/img08.png differ
diff --git a/doc/service_design/kubernetes/img09.png b/doc/service_design/kubernetes/img09.png
new file mode 100644
index 0000000000000000000000000000000000000000..a6b963879355580e242b02b10e007e1434fdceb3
Binary files /dev/null and b/doc/service_design/kubernetes/img09.png differ
diff --git a/doc/service_design/kubernetes/img10.png b/doc/service_design/kubernetes/img10.png
new file mode 100644
index 0000000000000000000000000000000000000000..73d0ef7c9aaa5e56098c5fca4420fd6c50b8cd2a
Binary files /dev/null and b/doc/service_design/kubernetes/img10.png differ
diff --git a/doc/service_design/kubernetes/intro.md b/doc/service_design/kubernetes/intro.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/mkdocs.yml b/mkdocs.yml
index e8e94f1a163f4b83207335bf43226d121de38dd5..0396dcb06b229c49367531667739f42b4df2b51b 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -72,16 +72,19 @@ nav:
   - Overview:
     - Introduction: index.md
     - OpenSlice deployment examples: OpenSlice_deployment_examples.md
+    - History: history.md
+    - ETSI OSL: etsi_osl.md
   - Getting Started:
     - Deployment: 
       - Introduction: deployment.md
       - Docker Compose: deploymentCompose.md
       - Kubernetes: deploymentK8s.md
-    - Configuration:
+    - Configuration/Management:
       - Introduction: config_intro.md
       - Role/Keycloak management: role_keycloak_management.md
       - NFV Orchestrator Configuration: nfvoconfig.md
-      - Consuming Services From External OSS: ./architecture/consumingServicesFromExternalPartners.md
+      - Advanced topics:
+        - Consuming Services From External OSS: ./architecture/consumingServicesFromExternalPartners.md
   - NaaS:
     - Introduction: ./naas/introduction.md
     - Services:
@@ -95,12 +98,15 @@ nav:
       - Resources Inventory:  ./naas/resource_inventory.md
     - Service orchestration:
       - Introduction: ./naas/so_intro.md
-      - Service Lifecycle management: ./naas/lcm.md
+      - Service Lifecycle management: ./naas/lcm_intro.md
       - LCM Rules Introduction: ./naas/lcm_rules_intro.md      
       - From Service order to services/resources: 
         - Exposing Kubernetes services: ./naas/so_servicespec_to_services_kubernetes.md
         - Exposing NFV Services: ./naas/so_servicespec_to_services_nfv.md
     - Supported TMFORUM exposed APIs: ./naas/exposed_apis.md
+    - NFV support:
+      - Introduction: ./naas/nfv/intro.md
+      - NFV Catalogs: ./naas/nfv/nfvcatalogs.md
   - Service design:
     - Introduction: ./service_design/intro.md
     - Support for Kubernetes:
@@ -108,8 +114,7 @@ nav:
       - Exposing Kubernetes Resources: ./service_design/kubernetes/ExposingKubernetesResources.md
       - Design Helm aaService: ./service_design/kubernetes/design_helmaas.md
     - Support for NFV:
-      - Design NFV Services: ./service_design/nfv/design_nfv_services.md  
-      - NFV Catalogs: ./service_design/nfv/nfvcatalogs.md
+      - Design NFV Services: ./service_design/nfv/design_nfv_services.md
     - LCM Rules:
       - Introduction: ./service_design/lcmrules/intro.md
       - Specification: ./service_design/lcmrules/specification.md