diff --git a/libraries/bbsim.robot b/libraries/bbsim.robot
index bc13d4d..049385c 100755
--- a/libraries/bbsim.robot
+++ b/libraries/bbsim.robot
@@ -82,6 +82,15 @@
     ...    bbsimctl onu shutdown ${onu}
     Should Contain    ${result}    successfully    msg=Can not shutdown ${onu}    values=False
 
+Set Wrong MDS Counter ONU
+    [Documentation]    This keyword sets wrong MDS counter for onu device.
+    [Arguments]    ${namespace}    ${bbsim_pod_name}    ${onu}
+    ${result}    ${rc}=    Exec Pod And Return Output And RC    ${namespace}    ${bbsim_pod_name}
+    ...    bbsimctl onu invalidate_mds ${onu}
+    Should Be Equal as Integers    ${rc}    0
+    Should Contain    ${result}    MDS counter of ONU    msg=Can not invalidate MDS counter ${onu}    values=False
+    Should Contain    ${result}    , set to    msg=Can not invalidate MDS counter ${onu}    values=False
+
 Get ONUs List
     [Documentation]    Fetches ONUs via BBSimctl
     [Arguments]    ${namespace}    ${bbsim_pod_name}
diff --git a/libraries/onu_utilities.robot b/libraries/onu_utilities.robot
index 83d50fd..f338699 100755
--- a/libraries/onu_utilities.robot
+++ b/libraries/onu_utilities.robot
@@ -15,6 +15,7 @@
 *** Settings ***
 Documentation     Library for various openonu-go-adpter utilities
 Library           grpc_robot.VolthaTools     WITH NAME    volthatools
+Resource          ./bbsim.robot
 
 
 *** Keywords ***
@@ -70,10 +71,16 @@
 Power On ONU Device per OLT
     [Documentation]    This keyword turns on the power for all onus.
     [Arguments]    ${namespace}    ${olt_serial_number}    ${bbsim_pod}
+    @{onu_list}=    Create List
     FOR    ${I}    IN RANGE    0    ${num_all_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
         Continue For Loop If    "${olt_serial_number}"!="${src['olt']}"
-        Power On ONU    ${namespace}    ${bbsim_pod}    ${src['onu']}
+        ${sn}=     Set Variable    ${src['onu']}
+        # make sure all actions are done only once per onu
+        ${onu_id}=    Get Index From List    ${onu_list}   ${sn}
+        Continue For Loop If    -1 != ${onu_id}
+        Append To List    ${onu_list}    ${sn}
+        Power On ONU    ${namespace}    ${bbsim_pod}    ${sn}
     END
 
 Power Off ONU Device
@@ -89,10 +96,41 @@
 Power Off ONU Device per OLT
     [Documentation]    This keyword turns off the power for all onus per olt.
     [Arguments]    ${namespace}    ${olt_serial_number}    ${bbsim_pod}
+    @{onu_list}=    Create List
     FOR    ${I}    IN RANGE    0    ${num_all_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
         Continue For Loop If    "${olt_serial_number}"!="${src['olt']}"
-        Power Off ONU    ${namespace}    ${bbsim_pod}    ${src['onu']}
+        ${sn}=     Set Variable    ${src['onu']}
+        # make sure all actions are done only once per onu
+        ${onu_id}=    Get Index From List    ${onu_list}   ${sn}
+        Continue For Loop If    -1 != ${onu_id}
+        Append To List    ${onu_list}    ${sn}
+        Power Off ONU    ${namespace}    ${bbsim_pod}    ${sn}
+    END
+
+Set Wrong MDS Counter All ONUs
+    [Documentation]    This keyword sets wrong MDS counter for all onus.
+    [Arguments]    ${namespace}
+    FOR    ${J}    IN RANGE    0    ${num_olts}
+        ${olt_serial_number}=    Set Variable    ${list_olts}[${J}][sn]
+        ${bbsim}=    Catenate    SEPARATOR=    bbsim    ${J}
+        ${bbsim_pod}=    Get Pod Name By Label    ${namespace}    release     ${bbsim}
+        Set Wrong MDS Counter per OLT    ${namespace}   ${olt_serial_number}    ${bbsim_pod}
+    END
+
+Set Wrong MDS Counter per OLT
+    [Documentation]    This keyword sets wrong MDS counter for all onus per olt.
+    [Arguments]    ${namespace}    ${olt_serial_number}    ${bbsim_pod}
+    @{onu_list}=    Create List
+    FOR    ${I}    IN RANGE    0    ${num_all_onus}
+        ${src}=    Set Variable    ${hosts.src[${I}]}
+        Continue For Loop If    "${olt_serial_number}"!="${src['olt']}"
+        ${sn}=     Set Variable    ${src['onu']}
+        # make sure all actions are done only once per onu
+        ${onu_id}=    Get Index From List    ${onu_list}   ${sn}
+        Continue For Loop If    -1 != ${onu_id}
+        Append To List    ${onu_list}    ${sn}
+        Set Wrong MDS Counter ONU    ${namespace}    ${bbsim_pod}    ${sn}
     END
 
 Current State Test
@@ -131,7 +169,7 @@
 Reconcile Onu Adapter
     [Documentation]     Restarts the openonu adapter and waits for reconciling is finished and expected oper-state is reached
     [Arguments]     ${namespace}    ${usekill2restart}    ${oper_status}    ${olt_to_be_deleted_sn}=${EMPTY}
-    ...             ${flow_delete_params}=&{EMPTY}
+    ...             ${flow_delete_params}=&{EMPTY}    ${wrong_MDS_counter}=False
     # get last ready timestamp of openonu adapter
     ${previous_ready_ts}=    Get Pod Ready Timestamp by Label    ${namespace}    app    adapter-open-onu
     # restart OpenONU adapter
@@ -146,9 +184,10 @@
     ...    Get OLTDeviceID From OLT List    ${olt_to_be_deleted_sn}
     Run Keyword If  "${olt_to_be_deleted_sn}"!="${EMPTY}"    Delete Device    ${olt_to_be_deleted_device_id}
     # remove flows if params passed for it (special feature II)
-    Run Keyword If    ${flow_delete_params}!=&{EMPTY}    Wait Until Keyword Succeeds    ${timeout}    2s
-    ...    Execute ONOS CLI Command use single connection    ${ONOS_SSH_IP}    ${ONOS_SSH_PORT}
-    ...    volt-remove-subscriber-access ${flow_delete_params['of_id']} ${flow_delete_params['onu_port']}
+    Run Keyword If    ${flow_delete_params}!=&{EMPTY}    Remove Flows Conditional    ${flow_delete_params['unitag']}
+    ...    ${flow_delete_params['onu_sn']}    ${flow_delete_params['of_id']}    ${flow_delete_params['onu_port']}
+    # Set wrong MDS counter (for all ONUs) if required (special feature III)
+    Run Keyword If    ${wrong_MDS_counter}    Set Wrong MDS Counter All ONUs   ${namespace}
     # wait for the reconcile to complete
     # - we check that communication to openonu-adapter is established again
     # - we check that all ONUs leave reconcile state by validate a simple voltctl request will not responds with error
@@ -184,6 +223,26 @@
         Should Be True    ${rc}==0    Onu ${src['onu']} (${onu_device_id}) still not accessible.
     END
 
+Remove Flows Conditional
+    [Documentation]    This keyword removes the flows (subscriber) conditional depending on unitag.
+    ...                In case of unitagsub==False (normal case) single subscriber remove will be executed.
+    ...                In case of multi uni each uni id will be deleted.
+    [Arguments]        ${unitagsub}    ${onu_sn}    ${of_id}    ${onu_port}
+    # first handle 'normal' case without uni ports
+    Run Keyword If    ${unitagsub}==False    Wait Until Keyword Succeeds    ${timeout}    2s
+    ...    Execute ONOS CLI Command use single connection    ${ONOS_SSH_IP}    ${ONOS_SSH_PORT}
+    ...    volt-remove-subscriber-access ${of_id} ${onu_port}
+    Return From Keyword If    ${unitagsub}==False
+    # handle multi uni case
+    FOR    ${I}    IN RANGE    0    ${num_all_onus}
+        ${src}=    Set Variable    ${hosts.src[${I}]}
+        Continue For Loop If    "${onu_sn}"!="${src['onu']}"
+        ${add_sub_cmd}=   Catenate    volt-remove-subscriber-unitag --tpId ${src['tp_id']} --sTag ${src['s_tag']}
+        ...    --cTag ${src['c_tag']} ${src['onu']}-${src['uni_id']}
+        Wait Until Keyword Succeeds    ${timeout}    2s    Execute ONOS CLI Command use single connection
+        ...    ${ONOS_SSH_IP}    ${ONOS_SSH_PORT}    ${add_sub_cmd}
+    END
+
 Log Ports
     [Documentation]    This keyword logs all port data available in ONOS of first port per ONU
     [Arguments]    ${onlyenabled}=False
@@ -275,31 +334,32 @@
 
 Set Tech Profile
     [Documentation]    This keyword sets the passed TechProfile for the test
-    [Arguments]    ${TechProfile}    ${namespace}=default
-    Log To Console    \nTechProfile:${TechProfile}
+    [Arguments]    ${TechProfile}    ${namespace}=default    ${tp_id}=64
+    Log To Console    \nSet TechProfile:${TechProfile} tp_id:${tp_id}
     ${podname}=    Set Variable    etcd
     ${label}=    Set Variable    app.kubernetes.io/name=${podname}
     ${src}=    Set Variable    ${data_dir}/TechProfile-${TechProfile}.json
     ${dest}=    Set Variable    /tmp/flexpod.json
     ${command}    Catenate
-    ...    /bin/sh -c 'cat    ${dest} | ETCDCTL_API=3 etcdctl put service/voltha/technology_profiles/XGS-PON/64'
+    ...    /bin/sh -c 'cat    ${dest} | ETCDCTL_API=3 etcdctl put service/voltha/technology_profiles/XGS-PON/${tp_id}'
     Copy File To Pod    ${namespace}    ${label}    ${src}    ${dest}
     Exec Pod In Kube    ${namespace}    ${podname}    ${command}
     ${commandget}    Catenate
-    ...    /bin/sh -c 'ETCDCTL_API=3 etcdctl get --prefix service/voltha/technology_profiles/XGS-PON/64'
+    ...    /bin/sh -c 'ETCDCTL_API=3 etcdctl get --prefix service/voltha/technology_profiles/XGS-PON/${tp_id}'
     ${result}=    Exec Pod In Kube    ${namespace}    ${podname}    ${commandget}
     Should Not Be Empty    ${result}    No Tech Profile stored in etcd!
 
 Remove Tech Profile
     [Documentation]    This keyword removes TechProfile
-    [Arguments]    ${namespace}=default
-    Log To Console    \nTechProfile:${TechProfile}
+    [Arguments]    ${namespace}=default    ${tp_id}=64
+    Run Keyword If    "${TechProfile}"!="${EMPTY}"    Log To Console    \nRemove TechProfile:${TechProfile} tp_id:${tp_id}
+    ...    ELSE    Log To Console    \nRemove Tech Profile template at tp_id:${tp_id}
     ${podname}=    Set Variable    etcd
     ${command}    Catenate
-    ...    /bin/sh -c 'ETCDCTL_API=3 etcdctl del --prefix service/voltha/technology_profiles/XGS-PON/64'
+    ...    /bin/sh -c 'ETCDCTL_API=3 etcdctl del --prefix service/voltha/technology_profiles/XGS-PON/${tp_id}'
     Exec Pod In Kube    ${namespace}    ${podname}    ${command}
     ${commandget}    Catenate
-    ...    /bin/sh -c 'ETCDCTL_API=3 etcdctl get --prefix service/voltha/technology_profiles/XGS-PON/64'
+    ...    /bin/sh -c 'ETCDCTL_API=3 etcdctl get --prefix service/voltha/technology_profiles/XGS-PON/${tp_id}'
     Exec Pod In Kube    ${namespace}    ${podname}    ${commandget}
 
 Do Onu Subscriber Add Per OLT
@@ -398,6 +458,7 @@
     ...                It checks checks presence/absence of tech profiles and flows depending on must_exist.
     ...                The values/content of tech profiles and flows will be not validated!
     [Arguments]    ${onu_sn}    ${namespace}=default    ${defaultkvstoreprefix}=voltha_voltha    ${must_exist}=True
+    ...            ${check_tcont_map_empty}=False
     ${kvstoreprefix}=    Get Kv Store Prefix    ${defaultkvstoreprefix}
     ${etcddata}=    Get ONU Go Adapter ETCD Data    namespace=${namespace}    defaultkvstoreprefix=${kvstoreprefix}
     #prepare result for json convert
@@ -411,6 +472,7 @@
         ${uni_config}=    Get From Dictionary    ${value}     uni_config
         ${uni_config}=    Set Variable    ${uni_config[0]}
         ${sn}=    Get From Dictionary    ${value}    serial_number
+        ${tcont_map}=    Get From Dictionary    ${value}     tcont_map
         ${matched}=    Set Variable If    '${sn}'=='${onu_sn}'    True    False
         Exit For Loop If    ${matched}
     END
@@ -451,6 +513,8 @@
     END
     Run Keyword If    ${must_exist}    Should Not Be Empty    ${flow_params}
     ...               ELSE             Should Be Empty        ${flow_params}
+    Run Keyword If    ${check_tcont_map_empty}    Log    ${tcont_map}
+    Run Keyword If    ${check_tcont_map_empty}    Should Be Empty    ${tcont_map}
 
 Validate Onu Data In Etcd
     [Documentation]    This keyword validates openonu-go-adapter Data stored in etcd.
@@ -685,12 +749,14 @@
 
 Wait for all ONU Ports in ONOS Disabled
     [Documentation]    Waits untill a all ONU ports are disabled in all ONOS
-    [Arguments]    ${host}    ${port}
+    [Arguments]    ${host}    ${port}    ${unitag}=False
     FOR    ${I}    IN RANGE    0    ${num_all_onus}
         ${src}=    Set Variable    ${hosts.src[${I}]}
         ${of_id}=    Wait Until Keyword Succeeds    ${timeout}    15s    Validate OLT Device in ONOS
         ...    ${src['olt']}
-       ${onu_port}=    Wait Until Keyword Succeeds    ${timeout}    2s    Get ONU Port in ONOS    ${src['onu']}    ${of_id}
+        ${onu_uni_id}=    Set Variable If    ${unitag}    ${src['uni_id']}    1
+        ${onu_port}=    Wait Until Keyword Succeeds    ${timeout}    2s    Get ONU Port in ONOS    ${src['onu']}    ${of_id}
+        ...    ${onu_uni_id}
         Wait Until Keyword Succeeds    ${timeout}    2s    Assert ONU Port Is Disabled    ${host}    ${port}    ${of_id}
         ...    ${onu_port}
     END
