diff --git a/SUMMARY.md b/SUMMARY.md
index ee787a8..ba9b84b 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -110,7 +110,6 @@
     * [Base OpenStack](charts/base-openstack.md)
         * [OpenStack](prereqs/openstack-helm.md)
         * [VTN Setup](prereqs/vtn-setup.md)
-    * [R-CORD](charts/rcord.md)
     * [M-CORD](charts/mcord.md)
     * [XOSSH](charts/xossh.md)
     * [Logging and Monitoring](charts/logging-monitoring.md)
@@ -119,4 +118,3 @@
     * [PONNET](charts/ponnet.md)
     * [PONSIM v2](charts/ponsimv2.md)
     * [PONSIM Pod](charts/ponsim-pod.md)
-
diff --git a/charts/base-kubernetes.md b/charts/base-kubernetes.md
index efe12f9..b1baf59 100644
--- a/charts/base-kubernetes.md
+++ b/charts/base-kubernetes.md
@@ -2,9 +2,10 @@
 
 This chart contains all the XOS services that interacts with Kubernetes.
 
-You can install it using:
+{% include "../partials/helm/add-cord-repo.md" %}
 
-```bash
-helm dep update xos-profiles/base-kubernetes
-helm install -n base-kubernetes xos-profiles/base-kubernetes/
-```
\ No newline at end of file
+You can then install it using:
+
+```shell
+helm install -n base-kubernetes cord/base-kubernetes
+```
diff --git a/charts/base-openstack.md b/charts/base-openstack.md
index b48eb96..b8e4d27 100644
--- a/charts/base-openstack.md
+++ b/charts/base-openstack.md
@@ -14,13 +14,12 @@
 
 ## Single-Node Configuration
 
-Here is an example of deploying the `xos-profiles/base-openstack` chart
-on a single-node OpenStack server set up by the
-`automation-tools/openstack-helm/openstack-helm-dev-setup.sh` script:
+Here is an example of deploying the *base-openstack* chart on a single-node OpenStack server set up by the *automation-tools/openstack-helm/openstack-helm-dev-setup.sh* script:
 
-```bash
-helm dep update xos-profiles/base-openstack
-helm install -n base-openstack xos-profiles/base-openstack \
+{% include "../partials/helm/add-cord-repo.md" %}
+
+```shell
+helm install -n base-openstack cord/base-openstack \
     --set computeNodes.master.name=`hostname` \
     --set vtn-service.sshUser=`whoami`
 ```
diff --git a/charts/bbsim.md b/charts/bbsim.md
index 74b75fa..07c6c69 100644
--- a/charts/bbsim.md
+++ b/charts/bbsim.md
@@ -1,10 +1,13 @@
 # BBSim Helm Chart
 
 This chart let you install the broadband simulator.
-Note that this chart depends on [kafka](kafka.md)
+
+>**Note:** this chart depends on [kafka](kafka.md).
+
+{% include "../partials/helm/add-cord-repo.md" %}
 
 ```shell
-helm install -n bbsim bbsim
+helm install -n bbsim cord/bbsim
 ```
 
 ## Set a different number of ONUs
@@ -12,7 +15,7 @@
 You can configure the number of ONUs through a parameter in the installation:
 
 ```shell
-helm install -n bbsim bbsim --set onus_per_pon_port={number_of_onus}
+helm install -n bbsim cord/bbsim --set onus_per_pon_port={number_of_onus}
 ```
 
 ## Set a different mode
@@ -23,14 +26,14 @@
 You can change the behaviour via:
 
 ```shell
-helm install -n bbsim bbsim --set emulation_mode="{both|aaa|default}"
+helm install -n bbsim cord/bbsim --set emulation_mode="{both|aaa|default}"
 ```
 
 Where:
 
-- `both` stands for authentication and DHCP
-- `aaa` stands for authentication only
-- `default` will just activate the devices
+- *both* stands for authentication and DHCP
+- *aaa* stands for authentication only
+- *default* will just activate the devices
 
 ## Start BBSim without Kafka
 
@@ -41,7 +44,7 @@
 with:
 
 ```shell
-helm install -n bbsim bbsim --set kafka_broker=""
+helm install -n bbsim cord/bbsim --set kafka_broker=""
 ```
 
 ## Provision the BBSim OLT in NEM
diff --git a/charts/kafka.md b/charts/kafka.md
index 26d4645..30d43ea 100644
--- a/charts/kafka.md
+++ b/charts/kafka.md
@@ -1,14 +1,14 @@
 # Kafka Helm chart
 
-The `kafka` helm chart is not maintained by CORD,
-but it is available online at: <https://github.com/kubernetes/charts/tree/master/incubator/kafka>
+The *kafka* helm chart is not maintained by CORD, but it is available online at: <https://github.com/kubernetes/charts/tree/master/incubator/kafka>
 
-To install kafka using the `cord-kafka` name, run the following commands:
+To install kafka using the *cord-kafka* name, run the following commands:
 
 ```shell
 helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
 helm install -f examples/kafka-single.yaml --version 0.8.8 -n cord-kafka incubator/kafka
 ```
+
 > NOTE: Historically there were two kafka busses deployed (another one named
 > `voltha-kafka`) but these have been consolidated.
 
@@ -35,22 +35,24 @@
  A few examples:
 
 - List available topics:
-  ```shell
-  kafkacat -b cord-kafka -L
-  ```
+
+```shell
+kafkacat -b cord-kafka -L
+```
 
 - Listen for events on a particular topic:
-  ```shell
-  kafkacat -b cord-kafka -C -t <kafka-topic>
-  ```
+
+```shell
+kafkacat -b cord-kafka -C -t <kafka-topic>
+```
 
 - Some example topics to listen on:
 
-  ```shell
-  kafkacat -b cord-kafka -C -t xos.log.core
-  kafkacat -b cord-kafka -C -t xos.gui_events
-  kafkacat -b cord-kafka -C -t voltha.events
-  kafkacat -b cord-kafka -C -t onu.events
-  kafkacat -b cord-kafka -C -t authentication.events
-  kafkacat -b cord-kafka -C -t dhcp.events
-  ```
+```shell
+kafkacat -b cord-kafka -C -t xos.log.core
+kafkacat -b cord-kafka -C -t xos.gui_events
+kafkacat -b cord-kafka -C -t voltha.events
+kafkacat -b cord-kafka -C -t onu.events
+kafkacat -b cord-kafka -C -t authentication.events
+kafkacat -b cord-kafka -C -t dhcp.events
+```
diff --git a/charts/logging-monitoring.md b/charts/logging-monitoring.md
index 01dcfcb..a051500 100644
--- a/charts/logging-monitoring.md
+++ b/charts/logging-monitoring.md
@@ -7,12 +7,14 @@
 functionality, `nem-monitoring` and `logging`.  Both of these charts depend on
 having [kafka](kafka.md) instances running in order to pass messages.
 
+## Add the cord repository
 
-## `nem-monitoring` charts
+{% include "../partials/helm/add-cord-repo.md" %}
+
+## nem-monitoring charts
 
 ```shell
-helm dep update nem-monitoring
-helm install -n nem-monitoring nem-monitoring
+helm install -n nem-monitoring cord/nem-monitoring
 ```
 
 > NOTE: In order to display `voltha` kpis you need to have `voltha`
@@ -22,18 +24,17 @@
 
 This chart exposes two dashboards:
 
-- [Grafana](http://docs.grafana.org/) on port `31300`
-- [Prometheus](https://prometheus.io/docs/) on port `31301`
+- [Grafana](http://docs.grafana.org/) on port *31300*
+- [Prometheus](https://prometheus.io/docs/) on port *31301*
 
-## `logging` charts
+## logging charts
 
 ```shell
-helm dep up logging
-helm install -n logging logging
+helm install -n logging cord/logging
 ```
 
 For smaller developer/test environments without persistent storage, please use
-the `examples/logging-single.yaml` file to run the logging chart, which doesn't
+the *examples/logging-single.yaml* file to run the logging chart, which doesn't
 create PVC's.
 
 ### Logging Dashboard
diff --git a/charts/mcord.md b/charts/mcord.md
index b7e6730..cec9fa6 100644
--- a/charts/mcord.md
+++ b/charts/mcord.md
@@ -1,12 +1,12 @@
 # Deploy M-CORD Profile
 
-To deploy the M-CORD profile, run the following:
+{% include "../partials/helm/add-cord-repo.md" %}
+
+Then, to deploy the M-CORD profile, run the following:
 
 ```shell
-helm dep update xos-profiles/mcord
-helm install -n mcord xos-profiles/mcord --set proxySshUser=ubuntu
+helm install -n mcord cord/mcord --set proxySshUser=ubuntu
 ```
 
-The value of `proxySshUser` should be set to the user account corresponding
-to the public key added to the node when
-[prepping the nodes for VTN](../prereqs/vtn-setup.md).
+The value of *proxySshUser* should be set to the user account corresponding
+to the public key added to the node when [prepping the nodes for VTN](../prereqs/vtn-setup.md).
diff --git a/charts/onos.md b/charts/onos.md
index a398039..7d7c27c 100644
--- a/charts/onos.md
+++ b/charts/onos.md
@@ -1,9 +1,11 @@
-# Deploy ONOS
+# ONOS
 
-To install ONOS run:
+{% include "../partials/helm/add-cord-repo.md" %}
+
+Then, to install ONOS run:
 
 ```shell
-helm install -n onos
+helm install -n cord/onos
 ```
 
 **Nodeports exposed**
@@ -26,7 +28,7 @@
 
 ## ONOS logging
 
-### `onos-log-agent` Sidecar container
+### onos-log-agent sidecar container
 
 By default, the onos helm chart will run a sidecar container to ship logs using
 [Filebeat](https://www.elastic.co/guide/en/beats/filebeat/current/index.html)
@@ -38,11 +40,15 @@
 specify which container you want to interact with.  For example, to view the
 ONOS logs via kubectl, you would use:
 
-    kubectl logs onos-7bbc9555bf-2754p -c onos
+```shell
+kubectl logs onos-7bbc9555bf-2754p -c onos
+```
 
 and to view the filebeat logs:
 
-    kubectl logs onos-7bbc9555bf-2754p -c onos-log-agent
+```shell
+kubectl logs onos-7bbc9555bf-2754p -c onos-log-agent
+```
 
 If this the sidecar isn't required, it can be disabled when installing the
 chart by passing `--set log_agent.enabled=false` or by using a values file.
@@ -63,4 +69,4 @@
 
 ```shell
 helm install -n onos -f configs/onos-debug.yaml onos
-```
\ No newline at end of file
+```
diff --git a/charts/ponnet.md b/charts/ponnet.md
index 1c2831e..b40f402 100644
--- a/charts/ponnet.md
+++ b/charts/ponnet.md
@@ -6,13 +6,12 @@
 RG and components upstream of the PONSIM OLT.  Note that the bridges
 are not actually created until [PONSIM](ponsimv2.md) is installed.
 
-You can install the chart using:
+{% include "../partials/helm/add-cord-repo.md" %}
+
+You can then install the chart using:
 
 ```bash
-helm install -n ponnet ponnet
+helm install -n ponnet cord/ponnet
 ```
 
-The chart modifies the underlying Kubernetes setup by installing the `bridge`
-CNI and adding configuration files to create the two bridges.  Kubernetes must
-be configured with CNI enabled.  Note that this chart does not seem to work
-on `minikube`.
+The chart modifies the underlying Kubernetes setup by installing the *bridge* CNI and adding configuration files to create the two bridges.  Kubernetes must be configured with CNI enabled.  Note that this chart does not seem to work on *minikube*.
diff --git a/charts/ponsim-pod.md b/charts/ponsim-pod.md
index b84fea3..a8329f8 100644
--- a/charts/ponsim-pod.md
+++ b/charts/ponsim-pod.md
@@ -1,10 +1,11 @@
 # PONSIM Pod
 
-This chart just loads TOSCA for adding a PONSIM OLT and Mininet
-AGG Switch to XOS.  It is used by [SiaB](../profiles/seba/siab.md).
+This chart just loads TOSCA for adding a PONSIM OLT and Mininet AGG Switch to XOS.  It is used by [SiaB](../profiles/seba/siab.md).
 
-You can install it using:
+{% include "../partials/helm/add-cord-repo.md" %}
 
-```bash
-helm install -n ponsim-pod xos-profiles/ponsim-pod/
+You can then install it using:
+
+```shell
+helm install -n ponsim-pod cord/ponsim-pod
 ```
diff --git a/charts/ponsimv2.md b/charts/ponsimv2.md
index a50c74d..599740e 100644
--- a/charts/ponsimv2.md
+++ b/charts/ponsimv2.md
@@ -1,16 +1,18 @@
 # PONSIM v2 Helm Chart
 
-The `ponsimv2` chart deploys the PON Simulator (PONSIM) containers
-(a virtual OLT, ONU, and RG) in the context of VOLTHA.
+The `ponsimv2` chart deploys the PON Simulator (PONSIM) containers (a virtual OLT, ONU, and RG) in the context of VOLTHA.
 This chart is used by [SiaB](../profiles/seba/siab.md).
-More details about PONSIM can be found in
-[its README](https://github.com/opencord/voltha/blob/master/ponsim/v2/README.md).
+More details about PONSIM can be found in [its README](https://github.com/opencord/voltha/blob/master/ponsim/v2/README.md).
 
 You must install the [PONNET](ponnet.md) chart before installing this one.
-At that point you can install PONSIM using:
+At that point you can install PONSIM.
 
-```bash
-helm install -n ponsimv2 ponsimv2
+{% include "../partials/helm/add-cord-repo.md" %}
+
+Then, install ponsim doing:
+
+```shell
+helm install -n ponsimv2 cord/ponsimv2
 ```
 
 After a successful install you will see containers like these running in the
diff --git a/charts/rcord.md b/charts/rcord.md
deleted file mode 100644
index 789d8a7..0000000
--- a/charts/rcord.md
+++ /dev/null
@@ -1,2 +0,0 @@
-# R-CORD
-
diff --git a/charts/seba-services.md b/charts/seba-services.md
index 3145bdc..a28dc97 100644
--- a/charts/seba-services.md
+++ b/charts/seba-services.md
@@ -2,9 +2,10 @@
 
 This chart contains all the XOS services needed to install SEBA.
 
-You can install it using:
+{% include "../partials/helm/add-cord-repo.md" %}
 
-```bash
-helm dep update xos-profiles/seba-services
-helm install -n seba-service xos-profiles/seba-services/
-```
\ No newline at end of file
+You can then install it using:
+
+```shell
+helm install -n seba-service cord/seba-services
+```
diff --git a/charts/storage.md b/charts/storage.md
index 7f8fb11..cca25fc 100644
--- a/charts/storage.md
+++ b/charts/storage.md
@@ -174,7 +174,6 @@
 into the `rook-ceph-system` namespace:
 
 ```shell
-cd helm-charts/storage
 helm repo add rook-beta https://charts.rook.io/beta
 helm dep update rook-operator
 helm install --namespace rook-ceph-system -n rook-operator rook-operator
@@ -338,8 +337,10 @@
 First, configure your nodes to deploy the [local-directory](#local-directory)
 chart, then run:
 
+{% include "../partials/helm/add-cord-repo.md" %}
+
 ```shell
-helm install -f examples/xos-db-local-dir.yaml -n xos-core xos-core
+helm install -f examples/xos-db-local-dir.yaml -n xos-core cord/xos-core
 ```
 
 ### Example: XOS Database on a Ceph RBD volume
@@ -352,7 +353,7 @@
 then load the XOS core charts with:
 
 ```shell
-helm install -f examples/xos-db-ceph-rbd.yaml -n xos-core xos-core
+helm install -f examples/xos-db-ceph-rbd.yaml -n xos-core cord/xos-core
 ```
 
 ### Example: Docker Registry on CephFS shared filesystem
diff --git a/charts/voltha.md b/charts/voltha.md
index 05e748c..2e0cc65 100644
--- a/charts/voltha.md
+++ b/charts/voltha.md
@@ -1,18 +1,8 @@
 # Deploy VOLTHA
 
-VOLTHA depends on having a [kafka message bus](kafka.md) deployed with a name
-of `cord-kafka`, so deploy that with helm before deploying the voltha chart.
-
-
 ## First Time Installation
 
-Download the helm charts `incubator` repository:
-
-```shell
-helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/
-```
-
-Install the etcd-operator helm chart.   This chart provides a convenient way of creating and managing etcd clusters.   When voltha installs it will attempt to use etcd-operator to create its etcd cluster.  Once installed etcd-operator can be left running.
+Install the etcd-operator helm chart first. This chart provides a convenient way of creating and managing etcd clusters. When VOLTHA installs it will attempt to use etcd-operator to create its etcd cluster. Once installed etcd-operator can be left running.
 
 ```shell
 helm install -n etcd-operator stable/etcd-operator --version 0.8.0
@@ -24,21 +14,15 @@
 kubectl get crd | grep etcd
 ```
 
+{% include "../partials/helm/add-cord-repo.md" %}
 
-
-Update dependencies within the voltha chart:
+Then, install the VOLTHA helm chart. This will create the VOLTHA pods and  will create the etcd-cluster pods.
 
 ```shell
-helm dep up voltha
+helm install -n voltha cord/voltha
 ```
 
-Install the voltha helm chart.   This will create the voltha pods and additionally create the etcd-cluster pods
-
-```shell
-helm install -n voltha voltha
-```
-
-Allow enough time for the 3 etcd-cluster pods to start before using the voltha pods.
+Allow enough time for the 3 etcd-cluster pods to start before using the VOLTHA pods.
 
 ## Standard Uninstall
 
@@ -49,7 +33,7 @@
 ## Standard Install
 
 ```shell
-helm install -n voltha voltha
+helm install -n voltha cord/voltha
 ```
 
 ## Nodeports Exposed
@@ -70,25 +54,23 @@
 ssh voltha@<pod-ip> -p 30110
 ```
 
-The default VOLTHA password is `admin`.
+The default VOLTHA password is *admin*.
 
 ## Building and using development images
 
-In some cases you want to build custom images to try out development code.
-The suggested way to do that is:
+In some cases you may want to build custom images to try out development code. In order to do that, from the CORD repository, do:
 
 ```shell
-cd ~/cord/incubator/voltha
+cd incubator/voltha
 REPOSITORY=voltha/ TAG=dev VOLTHA_BUILD=docker make build
 cd ~/cord/automation-tools/developer
 bash tag_and_push.sh -t dev -r 192.168.99.100:30500
 ```
 
-_This set of commands will build the VOLTHA containers and push them to a local
-[docker registry](../partials/push-images-to-registry.md) using a TAG called *dev*.
+This set of commands builds the VOLTHA containers and pushes them to a local
+[docker registry](../partials/push-images-to-registry.md) using a tag called *dev*.
 
-Once the images are pushed to a docker registry on the POD,
-you can use a values file like the following one:
+Once the images are pushed to a docker registry on the POD, you can create a values file like the following one, to override the default chart values, so use your images:
 
 ```yaml
 # voltha-values.yaml
@@ -120,8 +102,8 @@
 
 ```
 
-and you can install VOLTHA using:
+Then, install VOLTHA using:
 
 ```shell
-helm install -n voltha voltha -f voltha-values.yaml
+helm install -n voltha -f voltha-values.yaml cord/voltha
 ```
diff --git a/charts/xos-core.md b/charts/xos-core.md
index 3d31434..487b23a 100644
--- a/charts/xos-core.md
+++ b/charts/xos-core.md
@@ -2,9 +2,10 @@
 
 To deploy the XOS core and affiliated containers, run the following:
 
+{% include "../partials/helm/add-cord-repo.md" %}
+
 ```shell
-helm dep update xos-core
-helm install -n xos-core xos-core
+helm install -n xos-core cord/xos-core
 ```
 **Nodeports exposed**
 
@@ -14,11 +15,10 @@
 
 ## Customizing security information
 
-We strongly recommend you to override the default values of `xosAdminUser` and
-`xosAdminPassword` with custom values.
+We strongly recommend you to override the default values of *xosAdminUser* and
+*xosAdminPassword* with custom values.
 
-You can do it using a [`values.yaml`](https://docs.helm.sh/chart_template_guide/#values-files)
-file like this one:
+You can do it using a [`values.yaml`](https://docs.helm.sh/chart_template_guide/#values-files) file like this one:
 
 ```yaml
 # custom-security.yaml
@@ -29,14 +29,17 @@
 and add it to the install command:
 
 ```shell
-helm install -n xos-core xos-core -f custom-security.yaml
+helm install -f custom-security.yaml -n xos-core cord/xos-core
 ```
 
 or you can override the values from the CLI
 
 ```shell
-helm install -n xos-core xos-core --set xosAdminUser=MyUser --set xosAdminPassword=MySuperSecurePassword
+helm install -n xos-core cord/xos-core \
+    --set xosAdminUser=MyUser \
+    --set xosAdminPassword=MySuperSecurePassword
 ```
+
 > **Important!**
 > If you override security values in the `xos-core` chart, you'll need to pass
 > these values, either via a file or cli arguments, to all the xos related charts
diff --git a/charts/xossh.md b/charts/xossh.md
index 675a23e..65d6b56 100644
--- a/charts/xossh.md
+++ b/charts/xossh.md
@@ -1,7 +1,9 @@
 # Deploy XOSSH
 
-To deploy the XOS-Shell, run the following:
+{% include "../partials/helm/add-cord-repo.md" %}
+
+Then, to deploy the XOS-Shell run the following:
 
 ```shell
-helm install xos-tools/xossh -n xossh
+helm install -n xossh cord/xossh
 ```
diff --git a/partials/helm/add-cord-repo.md b/partials/helm/add-cord-repo.md
new file mode 100644
index 0000000..386498f
--- /dev/null
+++ b/partials/helm/add-cord-repo.md
@@ -0,0 +1,6 @@
+If you haven't done it yet, add the CORD repository to the list of your local repositories and update the repo index:
+
+```shell
+helm repo add cord https://gerrit.opencord.org
+helm repo update
+```
