diff --git a/edge_deployment/images/fleet-move-workspace.png b/edge_deployment/images/fleet-move-workspace.png
deleted file mode 100644
index accfb6d..0000000
--- a/edge_deployment/images/fleet-move-workspace.png
+++ /dev/null
Binary files differ
diff --git a/edge_deployment/runtime_deployment.rst b/edge_deployment/runtime_deployment.rst
index 19935d9..18a6905 100644
--- a/edge_deployment/runtime_deployment.rst
+++ b/edge_deployment/runtime_deployment.rst
@@ -8,16 +8,16 @@
 This section describes how to install and configure Aether Edge Runtime including Kubernetes
 and system level applications listed below.
 
-* ``sealed-secrets``
-* ``rancher-monitoring``
-* ``fluent-bit``
-* ``opendistro-es``
-* ``hostpath-provisioner``
-* ``edge-maintenance-agent``
-* ``sriov-device-plugin``
-* ``uedns``
+* `sealed-secrets`
+* `rancher-monitoring`
+* `fluent-bit`
+* `opendistro-es`
+* `hostpath-provisioner`
+* `edge-maintenance-agent`
+* `sriov-device-plugin`
+* `uedns`
 
-For this, we will be using GitOps based CI/CD systems and what you will need to do is
+For this, we will be using Aether's GitOps based CI/CD systems and what you will need to do is
 create patches in Aether GitOps repositories, **aether-pod-configs** and **aether-app-configs**,
 to provide cluster and application configurations to the CI/CD systems.
 
@@ -27,86 +27,17 @@
    go to :ref:`Add deployment jobs <add_deployment_jobs>` step and finish it first
    before proceeding.
 
-K8S cluster deployment
-----------------------
+Prepare System Application Configuration
+----------------------------------------
 
-Download ``aether-pod-configs`` repository if you don't have it already in
-your development machine.
+In this step, you will create system application configurations for the new
+cluster so that the new cluster can start with proper configurations as soon as
+it is deployed. For the K8S application configuration and deployment, Aether leverages
+Rancher's built-in GitOps tool, **Fleet**, and **aether-app-configs** is the
+repository where all Aether applications are defined.
 
-.. code-block:: shell
-
-   $ cd $WORKDIR
-   $ git clone "ssh://[username]@gerrit.opencord.org:29418/aether-pod-configs"
-
-.. attention::
-
-   If you skipped VPN bootstrap step and didn't update global resource maps for the new edge,
-   go to :ref:`Update global resource maps <update_global_resource>` step and
-   finish ``cluster_map.tfvars`` and ``user_map.tfvars`` update first before proceeding.
-
-Run the following commands to automatically generate Terraform configurations needed to
-create a new cluster in `Rancher <https://rancher.aetherproject.org>`_ and add the servers
-and switches to the cluster.
-
-.. code-block:: shell
-
-   # Create ace_cofig.yaml file if you haven't yet
-   $ cd $WORKDIR/aether-pod-configs/tools
-   $ cp ace_config.yaml.example ace_config.yaml
-   $ vi ace_config.yaml
-   # Set all values
-
-   $ make runtime
-   Created ../production/ace-test/provider.tf
-   Created ../production/ace-test/cluster.tf
-   Created ../production/ace-test/rke-bare-metal.tf
-   Created ../production/ace-test/addon-manifests.yml.tpl
-   Created ../production/ace-test/project.tf
-   Created ../production/ace-test/member.tf
-   Created ../production/ace-test/backend.tf
-   Created ../production/ace-test/cluster_val.tfvars
-
-.. attention::
-
-  If the cluster has an even number of compute nodes, edit **cluster_val.tfvars**
-  file so that only the odd number of nodes have **etcd** and **controlplane**
-  roles.
-
-Create a review request.
-
-.. code-block:: shell
-
-   $ cd $WORKDIR/aether-pod-configs
-   $ git add .
-   $ git commit -m "Add test ACE runtime configs"
-   $ git review
-
-Once your review request is accepted and merged, Aether CI/CD system starts to deploy K8S.
-Wait until the cluster status changes to **Active** in `Rancher <https://rancher.aetherproject.org>`_.
-It normally takes 10 - 15 minutes depending on the speed of the container images
-download at the edge.
-
-It is also a good idea to check the system pod status after successful K8S deployment.
-To do so, login to Rancher, open the cluster that you just deployed in the **Global** view, and click
-**Launch kubectl** button. You can interact with the cluster using the window that opens.
-Run the following commands and make sure all pods are ``Running``.
-
-.. code-block:: shell
-
-  # Run kubectl commands inside here
-  # e.g. kubectl get all
-  > kubectl get po -A
-
-System Application Deployment
------------------------------
-
-For the system application deployment, we will be using Rancher's built-in GitOps tool, **Fleet**.
-Fleet uses a git repository as a single source of truth to manage applications in the clusters.
-For Aether, **aether-app-configs** is the repository where all Aether applications
-are defined.
-
-Most of the Aether system applications do not require cluster specific configurations,
-except **rancher-monitoring** and **uedns**.
+Most of the Aether system applications listed above do not require cluster
+specific configurations, except **rancher-monitoring** and **uedns**.
 For these applications, you will have to manually create custom configurations and
 commit them to aether-app-configs.
 
@@ -229,37 +160,79 @@
    $ git commit -m "Add test ACE application configs"
    $ git review
 
+Now, it's ready to deploy K8S.
 
-Assign Fleet workspace
-""""""""""""""""""""""
+K8S cluster deployment
+----------------------
 
-By default, all new clusters are assigned to a default Fleet workspace called **fleet-default**.
-To make a cluster part of Aether and have the applications defined in aether-app-configs deployed,
-you must assign the cluster to either **aether-stable** or **aether-alpha** workspace.
-For clusters expecting minimal downtime, assign to **aether-stable**.
-For clusters for development or previewing upcoming release, assign to **aether-alpha**.
+Download ``aether-pod-configs`` repository if you don't have it already in
+your development machine.
 
-Workspace assignment can be done from Fleet dashboard.
+.. code-block:: shell
 
-To access Fleet dashboard, log in to `Rancher <https://rancher.aetherproject.org>`_ as
-``admin`` or ``onfadmin`` user, go to the **Cluster Explorer**,
-and click **Cluster Explorer > Continuous Delivery** in the top left dropdown menu.
-Now, perform the following steps to assign the new cluster to one of the Aether workspaces.
+   $ cd $WORKDIR
+   $ git clone "ssh://[username]@gerrit.opencord.org:29418/aether-pod-configs"
 
-.. image:: images/fleet-move-workspace.png
+.. attention::
 
-1) Click the second dropdown menu from the left at the top and switch the current workspace
-   to **fleet-default**.
-2) Click **Clusters** on the left menu.
-3) Select the cluster.
-4) Click **Assign to...** button and choose **aether-stable** or **aether-alpha**
-   in from the popup menu.
+   If you skipped VPN bootstrap step and didn't update global resource maps for the new edge,
+   go to :ref:`Update global resource maps <update_global_resource>` step and
+   finish ``cluster_map.tfvars`` and ``user_map.tfvars`` update first before proceeding.
 
-To verify, switch the current workspace to the workspace the cluster is assigned to,
-click **Clusters** in the left menu, and check if the cluster exists.
-Wait for the system application deployment to complete and the cluster state
-to become **Active**.
+Run the following commands to automatically generate Terraform configurations needed to
+create a new cluster in `Rancher <https://rancher.aetherproject.org>`_ and add the servers
+and switches to the cluster.
+
+.. code-block:: shell
+
+   # Create ace_cofig.yaml file if you haven't yet
+   $ cd $WORKDIR/aether-pod-configs/tools
+   $ cp ace_config.yaml.example ace_config.yaml
+   $ vi ace_config.yaml
+   # Set all values
+
+   $ make runtime
+   Created ../production/ace-test/provider.tf
+   Created ../production/ace-test/cluster.tf
+   Created ../production/ace-test/rke-bare-metal.tf
+   Created ../production/ace-test/addon-manifests.yml.tpl
+   Created ../production/ace-test/project.tf
+   Created ../production/ace-test/member.tf
+   Created ../production/ace-test/backend.tf
+   Created ../production/ace-test/cluster_val.tfvars
+
+.. attention::
+
+  If the cluster has an even number of compute nodes, edit **cluster_val.tfvars**
+  file so that only the odd number of nodes have **etcd** and **controlplane**
+  roles.
+
+Create a review request.
+
+.. code-block:: shell
+
+   $ cd $WORKDIR/aether-pod-configs
+   $ git add .
+   $ git commit -m "Add test ACE runtime configs"
+   $ git review
+
+Once your review request is accepted and merged, Aether CI/CD system starts to deploy K8S.
+Wait until the cluster status changes to **Active** in `Rancher <https://rancher.aetherproject.org>`_.
+It normally takes 10 - 15 minutes depending on the speed of the container images
+download at the edge.
+
+It is also a good idea to check the system pod status after successful K8S deployment.
+To do so, login to Rancher, open the cluster that you just deployed in the **Global** view, and click
+**Launch kubectl** button. You can interact with the cluster using the window that opens.
+Run the following commands and make sure all pods are ``Running``.
+
+.. code-block:: shell
+
+  # Run kubectl commands inside here
+  # e.g. kubectl get all
+  > kubectl get po -A
 
 .. attention::
 
    Ignore BESS UPF failure at this point if BESS UPF is enabled.
+   We'll fix it in :doc:`BESS UPF </edge_deployment/bess_upf_deployment>` step.
