diff --git a/README.md b/README.md
index 86214fa..89d8d76 100644
--- a/README.md
+++ b/README.md
@@ -1,26 +1,16 @@
 # Installation Guide
 
-This guide describes how to install CORD on a physical POD. It identifies a set of
-[prerequisites](prereqs/README.md), and then walks through
-the steps involved in bringing up the [Platform](platform.md). Once
-the Platform is installed, you are ready to bring up one of the
-available Profiles:
+This guide describes how to install CORD on a physical POD. It identifies a set of [prerequisites](prereqs/README.md), and then walks through the steps involved in bringing up the [Platform](platform.md). Once the Platform is installed, you are ready to bring up one of the available Profiles:
 
 * [SEBA](./profiles/seba/install.md)
 * [M-CORD](./profiles/mcord/install.md)
 
-This installation procedure requires management-network connectivity to the Internet.
-If your installation does not have such connectivity, or you are behind a restrictive
-firewall, consider [Offline Install](./offline-install.md).
+Alternatively if you just want to quickly bring up SEBA, try the [SEBA Quick Start](./seba_quickstart.md).
 
-If you do not have the [prerequisite hardware](./prereqs/hardware.md) needed for a POD,
-consider running a complete system entirely emulated in software using
-[SEBA-in-a-Box](./profiles/seba/siab-overview.md).
+This installation procedure requires management-network connectivity to the Internet. If your installation does not have such connectivity, or you are behind a restrictive firewall, consider [Offline Install](./offline-install.md).
 
-If you prefer a gentle walk through of process bringing up a subset 
-of the CORD platform running on your lapto (e.g., to get an
-introduction to all the moving parts in CORD) then jumping to the
-[Quick Start](quickstart.md) page is also an option.
+If you do not have the [prerequisite hardware](./prereqs/hardware.md) needed for a POD, consider running a complete system entirely emulated in software using [SEBA-in-a-Box](./profiles/seba/siab-overview.md).
 
-Finally, if you want to get a broader lay-of-the-land, you
-might step back and read the [Overview](overview.md).
+If you prefer a gentle walkthrough of the process of bringing up a subset of the CORD platform running on your laptop (e.g., to get an introduction to all the moving parts in CORD) then jumping to the [ExampleService Quick Start](example_service_quickstart.md) page is also an option.
+
+Finally, if you want to get a broader lay-of-the-land, you might step back and read the [Overview](overview.md).
diff --git a/SUMMARY.md b/SUMMARY.md
index 53c4b1c..38227e2 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -3,8 +3,10 @@
 * [Overview](overview.md)
 * [Navigating CORD](navigate.md)
 * [Quick Start](quickstart.md)
-    * [MacOS](macos.md)
-    * [Linux](linux.md)
+    * [SEBA Quick Start](seba_quickstart.md)
+    * [ExampleService Quick Start](example_service_quickstart.md)
+        * [MacOS](macos.md)
+        * [Linux](linux.md)
 
 ## Guides
 
diff --git a/charts/kafka.md b/charts/kafka.md
index 80807fe..2c67742 100644
--- a/charts/kafka.md
+++ b/charts/kafka.md
@@ -8,9 +8,9 @@
 ```shell
 helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
 helm install --version 0.8.8 \
-             --set configurationOverrides."offsets.topic.replication.factor"=1 \
-             --set configurationOverrides."log.retention.hours"=4 \
-             --set configurationOverrides."log.message.timestamp.type"="LogAppendTime" \
+             --set configurationOverrides."offsets\.topic\.replication\.factor"=1 \
+             --set configurationOverrides."log\.retention\.hours"=4 \
+             --set configurationOverrides."log\.message\.timestamp\.type"="LogAppendTime" \
              --set replicas=1 \
              --set persistence.enabled=false \
              --set zookeeper.replicaCount=1 \
diff --git a/example_service_quickstart.md b/example_service_quickstart.md
new file mode 100644
index 0000000..51f6376
--- /dev/null
+++ b/example_service_quickstart.md
@@ -0,0 +1,8 @@
+# ExampleService Quick Start
+
+This section walks you through an example installation sequence on two different Unix-based platforms. This is just a surface introduction to CORD. If you prefer to understand the installation process in more depth, including the full range of deployment options, you should start with the [Installation Guide](README.md) instead.
+
+This Quick Start describes how to install a subset of the CORD platform, plus a `SimpleExampleService`, on a single machine. Once you complete these steps, you might be interested in jumping ahead to the [SimpleExampleService Tutorial](simpleexampleservice/simple-example-service.md) to learn more about the make-up of a CORD service. Another option would be to explore CORD's [operational interfaces](operating_cord/general.md).
+
+* [MacOS](macos.md)
+* [Linux](linux.md)
diff --git a/profiles/seba/known-issues.md b/profiles/seba/known-issues.md
index 082ca8d..f9fb8f8 100644
--- a/profiles/seba/known-issues.md
+++ b/profiles/seba/known-issues.md
@@ -2,13 +2,15 @@
 
 ## SEBA 1.0 Release
 
-The only known major issues have to do with reboot of physical hardware, both
-the OLT and the AGG switch. These issues are described in more detail in
+There are known major issues having to do with rebooting of the physical hardware, both
+the OLT and the AGG switch, as well as continuously deleting/re-creating of an OLT Device via NEM. These issues are described in more detail in below:
 
 * [SEBA-388](https://jira.opencord.org/browse/SEBA-388)
    With this issue, DHCP may not work after AGG switch reboot. A possible workaround is to use a different config for the DHCPl2Relay app that uses the OLT's uplink to reach the DHCP Server, instead of the Switch's uplink. More details are described [here](troubleshoot/no-dhcp.md)
 * [SEBA-385](https://jira.opencord.org/browse/SEBA-385)
    With this issue, the OLT may not pass traffic anymore after reboot. Currently, the only workaround is to, enter the ONOS CLI and force a 'device-remove <&lt;device-id>' for the device from VOLTHA (in other words, force VOLTHA to reconnect to ONOS), and then perform the authentication/dhcp steps again for the subscribers
+* [SEBA-393](https://jira.opencord.org/browse/SEBA-393)
+   With this issue, if an OLT device gets deleted and re-created many times within a short period of time (10+ times within an hour or so), VOLTHA may run into an issue where it's unable to save any information pertaining the OLT device such as its ports or any ONU devices connected to those ports. The workaround for this issue is to re-install VOLTHA and re-create the OLT device through NEM.
 
 Fixes to these issues will be addressed soon after the release.
 
diff --git a/profiles/seba/siab.md b/profiles/seba/siab.md
index 69d4a0b..6fe0525 100644
--- a/profiles/seba/siab.md
+++ b/profiles/seba/siab.md
@@ -305,15 +305,19 @@
 cd ~/cord/helm-charts
 helm dep update xos-core
 helm install -n xos-core xos-core
-helm dep update xos-profiles/att-workflow
-helm install -n att-workflow -f configs/seba-ponsim.yaml xos-profiles/att-workflow
+helm dep update xos-profiles/seba-services
+helm install -n seba-services xos-profiles/seba-services
+helm dep update workflows/att-workflow
+helm install -n att-workflow workflows/att-workflow -f configs/seba-ponsim.yaml
+helm dep update xos-profiles/base-kubernetes
+helm install -n base-kubernetes xos-profiles/base-kubernetes
 ```
 
 **Before proceeding**
 
 Run:  `kubectl get pod`
 
-You should see all the NEM pods in Running state, except the att-workflow-tosca-loader pod which should eventually be in Completed state.  The latter may go through CrashLoopBackOff state and get restarted a few times first (less than 10).  To wait until this occurs you can run:
+You should see all the NEM pods in Running state, except a number of `*-tosca-loader` pods which should eventually be in Completed state.  The latter may go through CrashLoopBackOff state and get restarted a few times first (less than 10).  To wait until this occurs you can run:
 
 ```bash
 ~/cord/helm-charts/scripts/wait_for_pods.sh
diff --git a/profiles/seba/workflows/att-install.md b/profiles/seba/workflows/att-install.md
index 993e6fb..e1182de 100644
--- a/profiles/seba/workflows/att-install.md
+++ b/profiles/seba/workflows/att-install.md
@@ -5,7 +5,7 @@
 ## Install the `att-workflow` chart
 
 ```shell
-helm install -n att-workflow cord/att-workflow --version=1.0.0
+helm install -n att-workflow cord/att-workflow --version=1.0.2
 ```
 
 > NOTE: if you have installed the `cord-platform` chart as a sum of its components,
diff --git a/quickstart.md b/quickstart.md
index 382d310..61d2b07 100644
--- a/quickstart.md
+++ b/quickstart.md
@@ -1,22 +1,9 @@
 # Quick Start
 
-This section walks you through an example installation sequence on two
-different Unix-based platforms. This is just a surface introduction to
-CORD. If you prefer to understand the installation process in more
-depth, including the full range of deployment options, you should
-start with the [Installation Guide](README.md) instead.
+If you prefer to understand the installation process in more depth, including the full range of deployment options, you should start with the [Installation Guide](README.md) instead.
 
-This Quick Start describes how to install a subset of the CORD
-platform, plus a `SimpleExampleService`, on a single machine. Once you
-complete these steps, you might be interested in jumping ahead to the
-[SimpleExampleService Tutorial](simpleexampleservice/simple-example-service.md)
-to learn more about the make-up of a CORD service. Another option
-would be to explore CORD's [operational interfaces](operating_cord/general.md).
+There are two Quick Starts available.
 
-* [MacOS](macos.md)
-* [Linux](linux.md)
+* If you've met the hardware prerequisites and quickly want to get SEBA installed, use the [SEBA Quick Start](./seba_quickstart.md). If you don't have the hardware, try [SEBA-in-a-Box](./profiles/seba/siab-overview.md).
 
-If you want to quickly get started with a complete CORD system
-running on your laptop—including the CORD platform, the SEBA profile,
-an exemplar operator workflow, and an emulated data-plane—you could
-give [SEBA-in-a-Box](./profiles/seba/siab-overview.md) a try.
+* The other quick start helps you quickly understand the internal workings of the CORD platform - for example, how xproto, TOSCA and Helm all interact for a [simple example service](./example_service_quickstart.md).
diff --git a/seba_quickstart.md b/seba_quickstart.md
new file mode 100644
index 0000000..c86367e
--- /dev/null
+++ b/seba_quickstart.md
@@ -0,0 +1,82 @@
+# SEBA Quick Start
+
+This section provides instructions to quickly bring up SEBA.
+
+>**Note:** This Quick start assumes that [prerequisite](prereqs/README.md) hardware and software (up to Kubernetes and Helm) have already been installed.
+
+## Install components as a whole
+
+```shell
+# Add the CORD repository and update indexes
+helm repo add cord https://charts.opencord.org
+helm repo update
+
+# Install the CORD platform
+helm install -n cord-platform --version 6.1.0 cord/cord-platform
+
+# Wait until 3 etcd CRDs are present in Kubernetes
+kubectl get crd | grep -i etcd | wc -l
+
+# Install the SEBA profile
+helm install -n seba --version 1.0.0 cord/seba
+
+# Install the AT&T workflow
+helm install -n att-workflow --version 1.0.0 cord/att-workflow
+```
+
+## Alternatively, install as separate components
+
+```shell
+# Add the official Kubernetes incubator repostiory (for Kafka) and update the indexes
+helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
+helm repo update
+
+# Add the CORD repository and update the indexes
+helm repo add cord https://charts.opencord.org
+helm repo update
+
+# Install the CORD platform components
+helm install -n onos cord/onos
+helm install -n xos-core cord/xos-core
+helm install --version 0.8.8 \
+             --set configurationOverrides."offsets.topic.replication.factor"=1 \
+             --set configurationOverrides."log.retention.hours"=4 \
+             --set configurationOverrides."log.message.timestamp.type"="LogAppendTime" \
+             --set replicas=1 \
+             --set persistence.enabled=false \
+             --set zookeeper.replicaCount=1 \
+             --set zookeeper.persistence.enabled=false \
+             -n cord-kafka incubator/kafka
+
+# Optionally, install the logging and monitoring infrastructure components
+helm install -n nem-monitoring cord/nem-monitoring
+helm install --set elasticsearch.cluster.env.MINIMUM_MASTER_NODES="1" \
+             --set elasticsearch.client.replicas=1 \
+             --set elasticsearch.master.replicas=2 \
+             --set elasticsearch.master.persistence.enabled=false \
+             --set elasticsearch.data.replicas=1 \
+             --set elasticsearch.data.persistence.enabled=false \
+             -n logging cord/logging
+
+# Install etcd-operator and wait until 3 etcd CRDs are present in Kubernetes
+helm install -n etcd-operator stable/etcd-operator --version 0.8.0
+kubectl get crd | grep -i etcd | wc -l
+
+# Install the rest of the SEBA profile components
+helm install -n voltha cord/voltha
+helm install -n seba-service cord/seba-services
+helm install -n base-kubernetes cord/base-kubernetes
+
+# Install the AT&T workflow
+helm install -n att-workflow --version 1.0.0 cord/att-workflow
+```
+
+## Verify your installation and next steps
+
+Once the installation completes, monitor your setup using `kubectl get pods`.
+Wait until all pods are in *Running* state and “tosca-loader” pods are in *Completed* state.
+
+>**Note:** The tosca-loader pods may periodically transition into *error* state. This is expected. They will retry and eventually get to the desired state.
+>**Note:** Depending on the profile you're installing, you may need to check also different namespaces (for example, check the voltha namespace if you're installing SEBA with `kubectl get pods -n voltha`)
+
+Your POD is now installed and ready for use. To learn how to operate your POD continue to the [SEBA configuration section](./profiles/seba/configuration.md).
