diff --git a/SUMMARY.md b/SUMMARY.md
index eb576b6..4d52cf7 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -70,17 +70,19 @@
             * Workflows
                 * [Install AT&T workflow](profiles/seba/workflows/att-install.md)
             * [EdgeCore OLT Setup (OpenOLT driver)](openolt/README.md)
-            * [BETA: Celestica / Microsemi Setup](profiles/seba/celestica-olt-setup.md)
-                * [Attach Container to a NIC](profiles/seba/veth_intf.md)
             * [SEBA-in-a-Box Overview](profiles/seba/siab-overview.md)
                 * [SEBA-in-a-Box](profiles/seba/siab.md)
                 * [SEBA-in-a-Box with Fabric Switch](profiles/seba/siab-with-fabric-switch.md)
             * [Scale testing with BBSim](profiles/seba/bbsim.md)
-            * [Configuring a lab setup](profiles/seba/lab-setup.md)
+            * Other Setups
+                * [Configuring a lab setup](profiles/seba/lab-setup.md)
+                * [Attach Container to a NIC](profiles/seba/veth_intf.md)
         * Configure
-            * [POD configuration](profiles/seba/configuration.md)
-            * Workflow specific configuration
-                * [Configure AT&T workflow](profiles/seba/workflows/att-configure.md)
+            * [Configure the Pod](profiles/seba/configuration.md)
+            * [Configure ONU Whitelist](profiles/seba/configure/onu-whitelist.md)
+            * [Configure Tech Profiles](profiles/seba/configure/tech-profile.md)
+            * [Provision Subscribers](profiles/seba/configure/subscriber.md)
+            * [Provision OLTs](profiles/seba/configure/olt.md)
         * Operate
             * [AT&T workflow description](profiles/seba/operate/att-workflow-description.md)
             * [Disable/Enable an ONU](profiles/seba/operate/onu-ops.md)
diff --git a/profiles/seba/configuration.md b/profiles/seba/configuration.md
index 0df79b0..b6ccd52 100644
--- a/profiles/seba/configuration.md
+++ b/profiles/seba/configuration.md
@@ -4,24 +4,20 @@
 running on your POD, you will need to configure it. This is typically
 done using TOSCA.
 
-In this page we are describing the process as a three steps process:
+In this page we describe the process of configuring parts of the SEBA Pod which do not relate to the Access configuration.
+This configuration should happen before the Access configuration and provisioning that involves the ONUs, OLTs, TechProfiles and Subscribers.
 
-- [POD Setup](./configuration.md#pod-setup)
-- [PON Provisioning](./configuration.md#pon-provisioning)
-- [Subscriber Provisioning](./configuration.md#subscriber-provisioning)
+Note that we are showing this configuration as appearing in multiple files as that is what logically makes sense, but be aware that all the configuration can be unified in a single TOSCA file.
 
-as that is what logically makes sense, but be aware that all the configurations
-can be unified in a single TOSCA file.
-
-This configuration is environment specific, so
-you will need to create your own, but the following can serve as a
-reference:
+This configuration is environment specific, so you will need to create your own, but the following can serve as a reference:
 
 ## POD Setup
 
+The basic idea is to configure the Aggregation Switch, and provide information regarding the ports on which it connects to the OLTs and the external BNG.
+We also need to tell the dhcpl2relay app (in ONOS) about the dhcp server.
 The POD Setup consists of
 
-- Fabric configuration (In this case a single aggregation switch, see [Fabric](../../fabric/README.md) for more information)
+- AGG switch configuration (In this case a single aggregation switch, see [Fabric](../../fabric/README.md) for more information)
 - `BNGPortMapping` configuration (see [Fabric-crossconnet](../../fabric-crossconnect/README.md) for more information)
 - DHCP L2 Relay configuration (see [ONOS DHCP L2 RELAY Application](https://github.com/opencord/dhcpl2relay/#configuration) for more information)
 
@@ -43,23 +39,23 @@
 
 topology_template:
   node_templates:
-    # Fabric configuration
+    # AGG switch configuration (configuration for the segmentrouting app in ONOS that controls the AGG switch)
     switch#leaf_1:
       type: tosca.nodes.Switch
       properties:
-        driver: ofdpa3
-        ipv4Loopback: 192.168.0.201
-        ipv4NodeSid: 17
-        isEdgeRouter: True
+        driver: ofdpa3 # the ONOS driver used to talk to the switch
+        ipv4Loopback: 192.168.0.201 # use any private IP address - this functionality is not used in SEBA
+        ipv4NodeSid: 17 # use any number greater than 15 - this functionality is not used in SEBA
+        isEdgeRouter: True # used to identify a leaf, which is always the case in SEBA
         name: AGG_SWITCH
-        ofId: of:0000000000000001
-        routerMac: 00:00:02:01:06:01
+        ofId: of:0000000000000001 # the openflow switch id representing the AGG switch
+        routerMac: 00:00:02:01:06:01 # use any MAC address - this functionality is not used in SEBA
 
-    # Setup the OLT switch port
+    # Setup the AGG switch port that connects to the OLT (or multiple such OLTs each on a different port)
     port#olt_port:
       type: tosca.nodes.SwitchPort
       properties:
-        portId: 1
+        portId: 1 # the port on the AGG switch that connects to the OLT's NNI port
         host_learning: false
       requirements:
         - switch:
@@ -70,21 +66,23 @@
     port#bng_port:
       type: tosca.nodes.SwitchPort
       properties:
-        portId: 31
+        portId: 31 # the port on the AGG switch that connects to the BNG
       requirements:
         - switch:
             node: switch#leaf_1
             relationship: tosca.relationships.BelongsToOne
 
-    # Setup the fabric switch port where the external
-    # router is connected to
+    # Configure BNGPortMapping
     bngmapping:
       type: tosca.nodes.BNGPortMapping
       properties:
-        s_tag: any
-        switch_port: 31
+        s_tag: any # allow this mapping to apply to any vlan tag
+        switch_port: 31 # the port on the AGG switch that connects to the BNG
 
-    # DHCP L2 Relay config
+    # DHCP L2 Relay config configures the onos dhcpl2relay app to use the AGG switch's
+    # uplink port (that connects to the BNG) to reach the DHCP server. It uses the
+    # ONOS ConnectPoint structure that represents an <ofId>/<portId>, both of which
+    # are configured above
     onos_app#dhcpl2relay:
       type: tosca.nodes.ONOSApp
       properties:
@@ -110,232 +108,3 @@
 
 For instructions on how to push TOSCA into a CORD POD, please
 refer to this [guide](../../xos-tosca/README.md).
-
-## PON Provisioning
-
-The PON Provisioning consists of preparing all the configurations needed by ONOS and VOLTHA to manage the PON network,
-su as:
-
-- [OLT](../../olt-service/README.md#create-an-OLT)
-- [Technology Profile](https://github.com/opencord/voltha/tree/master/common/tech_profile)
-
-```yaml
-tosca_definitions_version: tosca_simple_yaml_1_0
-imports:
-  - custom_types/oltdevice.yaml
-  - custom_types/onudevice.yaml
-  - custom_types/voltservice.yaml
-  - custom_types/technologyprofile.yaml
-description: Create an OLT Device in VOLTHA
-topology_template:
-  node_templates:
-
-    service#volt:
-      type: tosca.nodes.VOLTService
-      properties:
-        name: volt
-        must-exist: true
-
-    olt_device:
-      type: tosca.nodes.OLTDevice
-      properties:
-        name: My OLT
-        device_type: openolt
-        host: 10.90.0.122
-        port: 9191
-        switch_datapath_id: of:0000000000000002 # the openflow id of the switch to which the OLT is connected
-        switch_port: "1" # the port on the switch on which the OLT is connected
-        outer_tpid: "0x8100"
-        uplink: "65536"
-        nas_id: "NAS_ID"
-        serial_number: EC1721000208 # the serial number of the OLT device
-      requirements:
-        - volt_service:
-            node: service#volt
-            relationship: tosca.relationships.BelongsToOne
-            
-    technologyProfile:
-      type: tosca.nodes.TechnologyProfile
-      properties:
-        profile_id: 64
-        technology: xgspon
-        profile_value: >
-          {
-            "name": "4QueueHybridProfileMap1",
-            "profile_type": "XPON",
-            "version": 1.0,
-            "num_gem_ports": 1,
-            "instance_control": {
-              "onu": "multi-instance",
-              "uni": "single-instance",
-              "max_gem_payload_size": "auto"
-            },
-            "us_scheduler": {
-              "additional_bw": "auto",
-              "direction": "UPSTREAM",
-              "priority": 0,
-              "weight": 0,
-              "q_sched_policy": "hybrid"
-            },
-            "ds_scheduler": {
-              "additional_bw": "auto",
-              "direction": "DOWNSTREAM",
-              "priority": 0,
-              "weight": 0,
-              "q_sched_policy": "hybrid"
-            },
-            "upstream_gem_port_attribute_list": [{
-                "pbit_map": "0b11000000",
-                "aes_encryption": "True",
-                "scheduling_policy": "StrictPriority",
-                "priority_q": 1,
-                "weight": 0,
-                "discard_policy": "TailDrop",
-                "max_q_size": "auto",
-                "discard_config": {
-                  "min_threshold": 0,
-                  "max_threshold": 0,
-                  "max_probability": 0
-                }
-              }
-            ],
-            "downstream_gem_port_attribute_list": [{
-                "pbit_map": "0b11000000",
-                "aes_encryption": "True",
-                "scheduling_policy": "StrictPriority",
-                "priority_q": 1,
-                "weight": 0,
-                "discard_policy": "TailDrop",
-                "max_q_size": "auto",
-                "discard_config": {
-                  "min_threshold": 0,
-                  "max_threshold": 0,
-                  "max_probability": 0
-                }
-              }
-            ]
-          }
-```
-
-For instructions on how to push TOSCA into a CORD POD, please
-refer to this [guide](../../xos-tosca/README.md).
-
-## Subscriber Provisioning
-
-Once the POD has been configured, you can create a subscriber.
-
-This section will guide you through the configuration of `Subscriber` and associated `BandwidthProfile`s.
-
-To create a subscriber, you'll need to know the serial number of the ONU it is
-attached to.
-
-### Find ONU Serial Number
-
-Once your POD is set up and the OLT has been pushed and activated in VOLTHA,
-XOS will discover the ONUs available in the system.
-
-You can find them through:
-
-- XOS GUI: on the left side click on `vOLT > ONUDevices`
-- XOS Rest API: `http://<pod-id>:<chameleon-port|30006>/xosapi/v1/volt/onudevices`
-- VOLTHA CLI: [Command Line Interface](../../charts/voltha.md#how-to-access-the-voltha-cli)
-
-If you are connected to the VOLTHA CLI you can use the following
-command to list all the existing devices:
-
-```shell
-(voltha) devices
-Devices:
-+------------------+--------------+------+------------------+-------------+-------------+----------------+----------------+------------------+----------+-------------------------+----------------------+------------------------------+
-|               id |         type | root |        parent_id | admin_state | oper_status | connect_status | parent_port_no |    host_and_port | vendor_id| proxy_address.device_id | proxy_address.onu_id | proxy_address.onu_session_id |
-+------------------+--------------+------+------------------+-------------+-------------+----------------+----------------+------------------+----------+-------------------------+----------------------+------------------------------+
-| 0001941bd45e71d8 |      openolt | True | 000100000a5a0072 |     ENABLED |      ACTIVE |      REACHABLE |                | 10.90.0.114:9191 |          |                         |                      |                              |
-| 00015698e67dc060 | broadcom_onu | True | 0001941bd45e71d8 |     ENABLED |      ACTIVE |      REACHABLE |      536870912 |                  |      BRCM|        0001941bd45e71d8 |                    1 |                            1 |
-+------------------+--------------+------+------------------+-------------+-------------+----------------+----------------+------------------+----------+-------------------------+----------------------+------------------------------+
-```
-
-Locate the correct ONU, then:
-
-```shell
-(voltha) device 00015698e67dc060
-(device 00015698e67dc060) show
-Device 00015698e67dc060
-+------------------------------+------------------+
-|                        field |            value |
-+------------------------------+------------------+
-|                           id | 00015698e67dc060 |
-|                         type |     broadcom_onu |
-|                         root |             True |
-|                    parent_id | 0001941bd45e71d8 |
-|                       vendor |         Broadcom |
-|                        model |              n/a |
-|             hardware_version |     to be filled |
-|             firmware_version |     to be filled |
-|                 images.image |        1 item(s) |
-|                serial_number |     BRCM22222222 |
-+------------------------------+------------------+
-|                      adapter |     broadcom_onu |
-|                  admin_state |                3 |
-|                  oper_status |                4 |
-|               connect_status |                2 |
-|      proxy_address.device_id | 0001941bd45e71d8 |
-|         proxy_address.onu_id |                1 |
-| proxy_address.onu_session_id |                1 |
-|               parent_port_no |        536870912 |
-|                    vendor_id |             BRCM |
-|                        ports |        2 item(s) |
-+------------------------------+------------------+
-|                  flows.items |        5 item(s) |
-+------------------------------+------------------+
-```
-
-to find the correct serial number.
-
-### Push a Subscriber into CORD
-
-Once you have this information, you can create the subscriber by
-customizing the following TOSCA and passing it into the POD:
-
-```yaml
-tosca_definitions_version: tosca_simple_yaml_1_0
-imports:
-  - custom_types/rcordsubscriber.yaml
-  - custom_types/bandwidthprofile.yaml
-description: Create a test subscriber
-topology_template:
-  node_templates:
-  
-    high_speed_bp:
-      type: tosca.nodes.BandwidthProfile
-      properties:
-         air: 2000
-         cbs: 2000
-         cir: 2000
-         ebs: 2000
-         eir: 2000
-         name: High Speed Internet
-
-    # A subscriber
-    my_house:
-      type: tosca.nodes.RCORDSubscriber
-      properties:
-        name: My House
-        status: pre-provisioned # the status we want to create the subscriber in
-        c_tag: 111
-        s_tag: 222
-        onu_device: BRCM22222222 # Serial Number of the ONU Device to which this subscriber is connected
-        tech_profile_id: 64 # The ID of the technology profile that needs to be applied to this subscriber
-        nas_port_id : some-value # radius specific attributes
-        circuit_id: some-value # radius specific attributes
-        remote_id: some-value # radius specific attributes
-      requirements:
-        - upstream_bps:
-            node: high_speed_bp
-            relationship: tosca.relationships.BelongsToOne
-        - downstream_bps:
-            node: high_speed_bp
-            relationship: tosca.relationships.BelongsToOne
-```
-
-For instructions on how to push TOSCA into a CORD POD, please
-refer to this [guide](../../xos-tosca/README.md).
diff --git a/profiles/seba/configure/olt.md b/profiles/seba/configure/olt.md
new file mode 100644
index 0000000..b166fbb
--- /dev/null
+++ b/profiles/seba/configure/olt.md
@@ -0,0 +1,46 @@
+# OLT Provisioning
+
+OLT Provisioning consists of specifying the fields shown below to instruct NEM about the serial number of the OLT, and where it can be reached in the management network.
+As soon as this config is pushed, NEM will load VOLTHA's etcd with the technology profile, and make the 'preprovision' and 'enable' calls to VOLTHA with the OLT information.
+
+OLT provisioning can use the same yaml file where the Technology profile is configured.
+For clarity it is shown separately below.
+
+Learn more about the OLT service [here](../../../olt-service/README.md)
+
+
+```yaml
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/oltdevice.yaml
+  - custom_types/onudevice.yaml
+  - custom_types/voltservice.yaml
+  - custom_types/technologyprofile.yaml
+description: Create an OLT Device in VOLTHA
+topology_template:
+  node_templates:
+
+    service#volt:
+      type: tosca.nodes.VOLTService
+      properties:
+        name: volt
+        must-exist: true
+
+    olt_device:
+      type: tosca.nodes.OLTDevice
+      properties:
+        name: My OLT
+        device_type: openolt
+        host: 10.90.0.122 # the IP address where the OLT can be reached on the management network
+        port: 9191
+        switch_datapath_id: of:0000000000000001 # the openflow id of the switch to which the OLT is connected
+        switch_port: "1" # the port on the switch on which the OLT is connected
+        outer_tpid: "0x8100"
+        uplink: "65536" # the NNI port on the OLT
+        nas_id: "NAS_ID"
+        serial_number: EC1721000208 # the serial number of the OLT device
+      requirements:
+        - volt_service:
+            node: service#volt
+            relationship: tosca.relationships.BelongsToOne
+```
diff --git a/profiles/seba/workflows/att-configure.md b/profiles/seba/configure/onu-whitelist.md
similarity index 63%
rename from profiles/seba/workflows/att-configure.md
rename to profiles/seba/configure/onu-whitelist.md
index df04375..d3431ed 100644
--- a/profiles/seba/workflows/att-configure.md
+++ b/profiles/seba/configure/onu-whitelist.md
@@ -1,13 +1,17 @@
-# Configure AT&T Workflow
+# Configure ONU Whitelist
 
-We assume your POD is already configured as per [this instructions](../configuration.md)
-(you need to complete only the first section)
+We assume your POD is already configured as per [these instructions](../configuration.md)
+Assuming you are using the AT&T Workflow (which is the only workflow supported in this release) you will need to configure ONUs in the whitelist, otherwise any ONU discovered in the PON that is not in the whitelist will get disabled administratively.
 
 ## Whitelist population
 
 > NOTE: the whitelist can be populated at any time.
 > It doesn't need to be done upfront.
 
+To configure the whitelist, you need to provide the ONU's serial number and location.
+The location is identified by the OLT device, and the PON port on the OLT device on which the ONU can be found.
+If either of these are configured incorrectly, the ONU will get disabled administratively.
+
 To configure the ONU whitelist, you can use this TOSCA:
 
 ```yaml
@@ -28,9 +32,9 @@
     whitelist:
       type: tosca.nodes.AttWorkflowDriverWhiteListEntry
       properties:
-        serial_number: BRCM22222222
-        pon_port_id: 536870912
-        device_id: of:000000000a5a0072
+        serial_number: BRCM22222222 # the serial number of the ONU device
+        pon_port_id: 536870912 # information in VOLTHA regarding the PON port of the OLT
+        device_id: of:000000000a5a0072 # the device id representing the OLT
       requirements:
         - owner:
             node: service#att
@@ -64,7 +68,3 @@
 of the device.
 
 ![OLT List view](./screenshots/olt_device_id.png)
-
-## Device monitoring
-
-Please refer to the [monitoring](../../../charts/logging-monitoring.md) chart.
diff --git a/profiles/seba/workflows/screenshots/olt_device_id.png b/profiles/seba/configure/screenshots/olt_device_id.png
similarity index 100%
rename from profiles/seba/workflows/screenshots/olt_device_id.png
rename to profiles/seba/configure/screenshots/olt_device_id.png
Binary files differ
diff --git a/profiles/seba/workflows/screenshots/onu_sn.png b/profiles/seba/configure/screenshots/onu_sn.png
similarity index 100%
rename from profiles/seba/workflows/screenshots/onu_sn.png
rename to profiles/seba/configure/screenshots/onu_sn.png
Binary files differ
diff --git a/profiles/seba/workflows/screenshots/pon_port.png b/profiles/seba/configure/screenshots/pon_port.png
similarity index 100%
rename from profiles/seba/workflows/screenshots/pon_port.png
rename to profiles/seba/configure/screenshots/pon_port.png
Binary files differ
diff --git a/profiles/seba/configure/subscriber.md b/profiles/seba/configure/subscriber.md
new file mode 100644
index 0000000..6f4a110
--- /dev/null
+++ b/profiles/seba/configure/subscriber.md
@@ -0,0 +1,158 @@
+# Subscriber Provisioning
+
+Once the POD has been configured, you can create a subscriber. As before, a subscriber must be configured by location (ONU) and identification (VLAN tagging) information.
+From SEBA 2.0 onwards, it is necessary to provide a BandwidthProfile for the subscriber in both upstream and downstream directions.
+It is also necessary to provide a Technology Profile id for the subscriber.
+Learn more about Subscriber provisioning [in this video](https://www.youtube.com/watch?v=RXjH9zdjqvA&t=420s)
+
+This section will guide you through the configuration of `Subscriber` and associated `BandwidthProfile`s.
+
+### Provision a Subscriber
+
+Once you have the required information, you can create the subscriber by
+customizing the following TOSCA and passing it into the POD.
+
+NOTE: It is important to configure a Default bandwidthprofile
+
+
+```yaml
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/rcordsubscriber.yaml
+  - custom_types/bandwidthprofile.yaml
+
+description: Pre-provsion subscribers
+
+topology_template:
+  node_templates:
+
+    default:
+      type: tosca.nodes.BandwidthProfile
+      properties:
+        name: Default # used before subscriber's equipment has been authenticated
+        air: 100000
+        cbs: 30
+        cir: 600
+        ebs: 30
+        eir: 400
+
+    high_speed_bp:
+      type: tosca.nodes.BandwidthProfile
+      properties:
+         name: Bronze
+         air: 100000
+         cbs: 2000
+         cir: 5000
+         ebs: 2000
+         eir: 3000
+
+    # A subscriber
+    h1_subscriber:
+      type: tosca.nodes.RCORDSubscriber
+      properties:
+        name: Sub_ISKT71e801a0
+        status: pre-provisioned
+        c_tag: 12
+        s_tag: 111
+        onu_device: ISKT71e801a0 # Serial Number of the ONU Device to which this subscriber is connected
+        nas_port_id : "PON 1/1/04/1:1.1.1" # radius specific attributes
+        circuit_id: edgecore_iskratel_circuit # radius specific attributes
+        remote_id: edgecore_iskratel_remote # radius specific attributes
+        tech_profile_id: 64 # The ID of the technology profile that needs to be applied to this subscriber
+      requirements:
+       - upstream_bps:
+           node: high_speed_bp
+           relationship: tosca.relationships.BelongsToOne
+       - downstream_bps:
+           node: high_speed_bp
+           relationship: tosca.relationships.BelongsToOne
+
+    # Another subscriber
+    h2_subscriber:
+      type: tosca.nodes.RCORDSubscriber
+      properties:
+        name: Sub_BRCM22222222 # give a different name
+        status: pre-provisioned
+        c_tag: 11  # the combination of stag and ctag must
+        s_tag: 111 # uniquely identify a subscriber
+        onu_device: BRCM22222222 # different ONU serial number (location)
+        nas_port_id : "PON 1/1/04/1:1.1.2"
+        circuit_id: edgecore_brcm_circuit
+        remote_id: edgecore_brcm_remote
+        tech_profile_id: 64
+      requirements:
+       - upstream_bps:
+           node: high_speed_bp # could have same or different bandwidth profile
+           relationship: tosca.relationships.BelongsToOne
+       - downstream_bps:
+           node: high_speed_bp
+           relationship: tosca.relationships.BelongsToOne
+```
+
+For instructions on how to push TOSCA into a CORD POD, please
+refer to this [guide](../../../xos-tosca/README.md).
+
+## Find ONU Serial Number
+
+In production, an operator should already know all the information regarding the subscriber's location - ie the ONU to which the subscriber connects and the serial number of the ONU.
+In a lab setting you may need to bring up the system once to note down the serial numbers.
+
+Once your POD is set up and the OLT has been pushed and activated in VOLTHA,
+NEM will discover the ONUs available in the system.
+
+You can find the ONUs and their serial numbers through:
+
+- XOS GUI: on the left side click on `vOLT > ONUDevices`
+- XOS Rest API: `http://<pod-id>:<chameleon-port|30006>/xosapi/v1/volt/onudevices`
+- VOLTHA CLI: [Command Line Interface](../../../charts/voltha.md#how-to-access-the-voltha-cli)
+
+If you are connected to the VOLTHA CLI you can use the following
+command to list all the existing devices:
+
+```shell
+(voltha) devices
+Devices:
++------------------+--------------+------+------------------+-------------+-------------+----------------+----------------+------------------+----------+-------------------------+----------------------+------------------------------+
+|               id |         type | root |        parent_id | admin_state | oper_status | connect_status | parent_port_no |    host_and_port | vendor_id| proxy_address.device_id | proxy_address.onu_id | proxy_address.onu_session_id |
++------------------+--------------+------+------------------+-------------+-------------+----------------+----------------+------------------+----------+-------------------------+----------------------+------------------------------+
+| 0001941bd45e71d8 |      openolt | True | 000100000a5a0072 |     ENABLED |      ACTIVE |      REACHABLE |                | 10.90.0.114:9191 |          |                         |                      |                              |
+| 00015698e67dc060 | broadcom_onu | True | 0001941bd45e71d8 |     ENABLED |      ACTIVE |      REACHABLE |      536870912 |                  |      BRCM|        0001941bd45e71d8 |                    1 |                            1 |
++------------------+--------------+------+------------------+-------------+-------------+----------------+----------------+------------------+----------+-------------------------+----------------------+------------------------------+
+```
+
+Locate the correct ONU, then:
+
+```shell
+(voltha) device 00015698e67dc060
+(device 00015698e67dc060) show
+Device 00015698e67dc060
++------------------------------+------------------+
+|                        field |            value |
++------------------------------+------------------+
+|                           id | 00015698e67dc060 |
+|                         type |     broadcom_onu |
+|                         root |             True |
+|                    parent_id | 0001941bd45e71d8 |
+|                       vendor |         Broadcom |
+|                        model |              n/a |
+|             hardware_version |     to be filled |
+|             firmware_version |     to be filled |
+|                 images.image |        1 item(s) |
+|                serial_number |     BRCM22222222 |
++------------------------------+------------------+
+|                      adapter |     broadcom_onu |
+|                  admin_state |                3 |
+|                  oper_status |                4 |
+|               connect_status |                2 |
+|      proxy_address.device_id | 0001941bd45e71d8 |
+|         proxy_address.onu_id |                1 |
+| proxy_address.onu_session_id |                1 |
+|               parent_port_no |        536870912 |
+|                    vendor_id |             BRCM |
+|                        ports |        2 item(s) |
++------------------------------+------------------+
+|                  flows.items |        5 item(s) |
++------------------------------+------------------+
+```
+
+to find the correct serial number.
diff --git a/profiles/seba/configure/tech-profile.md b/profiles/seba/configure/tech-profile.md
new file mode 100644
index 0000000..9c93b8a
--- /dev/null
+++ b/profiles/seba/configure/tech-profile.md
@@ -0,0 +1,263 @@
+# Configuring a Technology Profile
+
+SEBA 2.0 release onwards, configuring a Tech Profile is a necessary step before an OLT can be provisioned.
+
+Tech profiles are loaded into VOLTHA's etcd cluster as simple json objects.
+In a SEBA POD, like all other config, this **must** be done by configuring NEM as shown below in the 'profile_value'.
+
+More information on Tech Profiles can be found [on the wiki](https://wiki.opencord.org/display/CORD/Technology+Profiles) or the [github readme](https://github.com/opencord/voltha/tree/master/common/tech_profile)
+
+
+## Example 1 TCONT / 1 GEM port configuration
+
+```yaml
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/oltdevice.yaml
+  - custom_types/onudevice.yaml
+  - custom_types/voltservice.yaml
+  - custom_types/technologyprofile.yaml
+description: Create a single TCONT single GEM tech profile for xgspon
+topology_template:
+  node_templates:
+
+    service#volt:
+      type: tosca.nodes.VOLTService
+      properties:
+        name: volt
+        must-exist: true
+
+    technologyProfile:
+      type: tosca.nodes.TechnologyProfile
+      properties:
+        profile_id: 64
+        technology: xgspon
+        profile_value: >
+          {
+            "name": "4QueueHybridProfileMap1",
+            "profile_type": "XPON",
+            "version": 1.0,
+            "num_gem_ports": 1,
+            "instance_control": {
+              "onu": "multi-instance",
+              "uni": "single-instance",
+              "max_gem_payload_size": "auto"
+            },
+            "us_scheduler": {
+              "additional_bw": "auto",
+              "direction": "UPSTREAM",
+              "priority": 0,
+              "weight": 0,
+              "q_sched_policy": "hybrid"
+            },
+            "ds_scheduler": {
+              "additional_bw": "auto",
+              "direction": "DOWNSTREAM",
+              "priority": 0,
+              "weight": 0,
+              "q_sched_policy": "hybrid"
+            },
+            "upstream_gem_port_attribute_list": [{
+                "pbit_map": "0b11111111",
+                "aes_encryption": "True",
+                "scheduling_policy": "StrictPriority",
+                "priority_q": 1,
+                "weight": 0,
+                "discard_policy": "TailDrop",
+                "max_q_size": "auto",
+                "discard_config": {
+                  "min_threshold": 0,
+                  "max_threshold": 0,
+                  "max_probability": 0
+                }
+              }
+            ],
+            "downstream_gem_port_attribute_list": [{
+                "pbit_map": "0b11111111",
+                "aes_encryption": "True",
+                "scheduling_policy": "StrictPriority",
+                "priority_q": 1,
+                "weight": 0,
+                "discard_policy": "TailDrop",
+                "max_q_size": "auto",
+                "discard_config": {
+                  "min_threshold": 0,
+                  "max_threshold": 0,
+                  "max_probability": 0
+                }
+              }
+            ]
+          }
+```
+
+## Example 1 TCONT / 4 GEM port configuration
+
+```yaml
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+  - custom_types/oltdevice.yaml
+  - custom_types/onudevice.yaml
+  - custom_types/voltservice.yaml
+  - custom_types/technologyprofile.yaml
+description: Creates a single TCONT four GEM tech profile
+topology_template:
+  node_templates:
+
+    service#volt:
+      type: tosca.nodes.VOLTService
+      properties:
+        name: volt
+        must-exist: true
+
+    technologyProfile:
+      type: tosca.nodes.TechnologyProfile
+      properties:
+        profile_id: 64
+        technology: xgspon
+        profile_value: >
+          {
+            "name": "4QueueHybridProfileMap1",
+            "profile_type": "XPON",
+            "version": 1,
+            "num_gem_ports": 4,
+            "instance_control": {
+              "onu": "multi-instance",
+              "uni": "single-instance",
+              "max_gem_payload_size": "auto"
+            },
+            "us_scheduler": {
+              "additional_bw": "auto",
+              "direction": "UPSTREAM",
+              "priority": 0,
+              "weight": 0,
+              "q_sched_policy": "hybrid"
+            },
+            "ds_scheduler": {
+              "additional_bw": "auto",
+              "direction": "DOWNSTREAM",
+              "priority": 0,
+              "weight": 0,
+              "q_sched_policy": "hybrid"
+            },
+            "upstream_gem_port_attribute_list": [
+              {
+                "pbit_map": "0b00000101",
+                "aes_encryption": "True",
+                "scheduling_policy": "WRR",
+                "priority_q": 4,
+                "weight": 25,
+                "discard_policy": "TailDrop",
+                "max_q_size": "auto",
+                "discard_config": {
+                  "max_threshold": 0,
+                  "min_threshold": 0,
+                  "max_probability": 0
+                }
+              },
+              {
+                "pbit_map": "0b00011010",
+                "aes_encryption": "True",
+                "scheduling_policy": "WRR",
+                "priority_q": 3,
+                "weight": 75,
+                "discard_policy": "TailDrop",
+                "max_q_size": "auto",
+                "discard_config": {
+                  "min_threshold": 0,
+                  "max_threshold": 0,
+                  "max_probability": 0
+                }
+              },
+              {
+                "pbit_map": "0b00100000",
+                "aes_encryption": "True",
+                "scheduling_policy": "StrictPriority",
+                "priority_q": 2,
+                "weight": 0,
+                "discard_policy": "TailDrop",
+                "max_q_size": "auto",
+                "discard_config": {
+                  "min_threshold": 0,
+                  "max_threshold": 0,
+                  "max_probability": 0
+                }
+              },
+              {
+                "pbit_map": "0b11000000",
+                "aes_encryption": "True",
+                "scheduling_policy": "StrictPriority",
+                "priority_q": 1,
+                "weight": 25,
+                "discard_policy": "TailDrop",
+                "max_q_size": "auto",
+                "discard_config": {
+                  "min_threshold": 0,
+                  "max_threshold": 0,
+                  "max_probability": 0
+                }
+              }
+            ],
+            "downstream_gem_port_attribute_list": [
+              {
+                "pbit_map": "0b00000101",
+                "aes_encryption": "True",
+                "scheduling_policy": "WRR",
+                "priority_q": 4,
+                "weight": 10,
+                "discard_policy": "TailDrop",
+                "max_q_size": "auto",
+                "discard_config": {
+                  "min_threshold": 0,
+                  "max_threshold": 0,
+                  "max_probability": 0
+                }
+              },
+              {
+                "pbit_map": "0b00011010",
+                "aes_encryption": "True",
+                "scheduling_policy": "WRR",
+                "priority_q": 3,
+                "weight": 90,
+                "discard_policy": "TailDrop",
+                "max_q_size": "auto",
+                "discard_config": {
+                  "min_threshold": 0,
+                  "max_threshold": 0,
+                  "max_probability": 0
+                }
+              },
+              {
+                "pbit_map": "0b00100000",
+                "aes_encryption": "True",
+                "scheduling_policy": "StrictPriority",
+                "priority_q": 2,
+                "weight": 0,
+                "discard_policy": "TailDrop",
+                "max_q_size": "auto",
+                "discard_config": {
+                  "min_threshold": 0,
+                  "max_threshold": 0,
+                  "max_probability": 0
+                }
+              },
+              {
+                "pbit_map": "0b11000000",
+                "aes_encryption": "True",
+                "scheduling_policy": "StrictPriority",
+                "priority_q": 1,
+                "weight": 25,
+                "discard_policy": "TailDrop",
+                "max_q_size": "auto",
+                "discard_config": {
+                  "min_threshold": 0,
+                  "max_threshold": 0,
+                  "max_probability": 0
+                }
+              }
+            ]
+          }
+```
+
+
+For instructions on how to push TOSCA into a CORD POD, please
+refer to this [guide](../../../xos-tosca/README.md).
diff --git a/profiles/seba/operate/olt-ops.md b/profiles/seba/operate/olt-ops.md
index e54fd95..58e7d98 100644
--- a/profiles/seba/operate/olt-ops.md
+++ b/profiles/seba/operate/olt-ops.md
@@ -1,9 +1,9 @@
 # OLT Operations
 
-For information on how to add an OLT, please refere to the
-[POD specific configuration](../configuration.md#olt-provisioning) page.
+For information on how to add an OLT, please refer to the
+[OLT configuration](../configure/olt.md) page.
 
-## Remove on OLT
+## Remove an OLT
 
 In order to remove the OLT it is mandatory that no active subscribers are using it.
 
@@ -12,7 +12,7 @@
 - [removing the subscribers](./olt-ops.md#remove-subscriber)
 - [changing their state to pre-provisioned](./olt-ops.md#change-subscriber-status)
 
-once the subscribers are gone you can navigate to `vOLT -> OLT Devices` and remove
+Once the subscribers are gone you can navigate to `vOLT -> OLT Devices` and remove
 the device by clicking on the red `X` icon on the left side of the table.
 
 ![OLT Table view in XOS](./screenshots/olt_table_view.png "OLT Table view in XOS")
@@ -23,10 +23,3 @@
 red `X` icon on the left side of the table.
 
 ![Subscribers Table view in XOS](./screenshots/subscribers_table_view.png "Subscribers Table view in XOS")
-
-### Change subscriber status
-
-To change the Subscriber status, go to `RCORD -> RCORD Subscribers` and enter the
-detail view by clicking on the magnifier icon. Then change its state to `Pre Provisioned`
-
-![Subscribers Detail view in XOS](./screenshots/subscribers_detail_view.png "Subscribers Detail view in XOS")
\ No newline at end of file
diff --git a/profiles/seba/operate/whitelist-ops.md b/profiles/seba/operate/whitelist-ops.md
index 54ffbc4..a5733a3 100644
--- a/profiles/seba/operate/whitelist-ops.md
+++ b/profiles/seba/operate/whitelist-ops.md
@@ -6,6 +6,9 @@
 
 ![Whitelist Table view in XOS](./screenshots/whitelist_table_view.png "Whitelist Table view in XOS")
 
-For more information about the whitelist, please refer to the
-[Configure AT&T workflow](../workflows/att-configure.md#whitelist-population) page.
+To remove an entry, simply click the X next to an entry.
+To edit an entry, click on the magnifying-glass symbol next to an entry, enter the fields, and save.
+To add an entry, click on the `Add` button on the upper right corner.
 
+For more information about the whitelist, please refer to the
+[ONU Whitelist page](../configure/onu-whitelist.md#whitelist-population) page.
