diff --git a/src/test/cord-api/Tests/BBSim/BBSIMScale.robot b/src/test/cord-api/Tests/BBSim/BBSIMScale.robot
index 3c3b03f..4d5f8a3 100644
--- a/src/test/cord-api/Tests/BBSim/BBSIMScale.robot
+++ b/src/test/cord-api/Tests/BBSim/BBSIMScale.robot
@@ -22,14 +22,10 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
+Library           CORDRobot
 Library           bbsim_utils.py
-Library           ../../Framework/utils/utils.py
-Library           ../../Framework/restApi.py
-Resource          ../../Framework/Subscriber.robot
-Resource          ../../Framework/ATTWorkFlowDriver.robot
-Resource          ../../Framework/Kubernetes.robot
-Resource          ../../Framework/ONU.robot
-Resource          ../../Framework/DHCP.robot
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../../Properties/RestApiProperties.py
 
 *** Variables ***
diff --git a/src/test/cord-api/Tests/Ch_DefaultServiceCheck.txt b/src/test/cord-api/Tests/Ch_DefaultServiceCheck.txt
index 3f58cc2..b27315a 100644
--- a/src/test/cord-api/Tests/Ch_DefaultServiceCheck.txt
+++ b/src/test/cord-api/Tests/Ch_DefaultServiceCheck.txt
@@ -7,9 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
-Resource          ../Framework/utils/utils.robot
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PROFILE}        mock-rcord
@@ -21,13 +20,13 @@
 
 *** Keywords ***
 Read InputFile
-    ${status}    ${dynamicServiceList}=    Run Keyword And Ignore Error    utils.get_dynamic_resources    ${PROFILE_FILE}    xos_services
+    ${status}    ${dynamicServiceList}=    Run Keyword And Ignore Error    CORDRobot.get_dynamic_resources    ${PROFILE_FILE}    xos_services
     Run Keyword If    '${status}' == 'FAIL'    Fail    No Services in given profile manifest
     Set Suite Variable    ${dynamicServiceList}
     ##need to remove openstack and onos from xos_services list in each manifest as these services arent treated as typical xos synchronizers
-    utils.Remove Value From List    ${dynamicServiceList}    openstack
-    utils.Remove Value From List    ${dynamicServiceList}    onos
-    utils.Remove Value From List    ${dynamicServiceList}    exampleservice
+    CORDRobot.Remove Value From List    ${dynamicServiceList}    openstack
+    CORDRobot.Remove Value From List    ${dynamicServiceList}    onos
+    CORDRobot.Remove Value From List    ${dynamicServiceList}    exampleservice
     Log    ${dynamicServiceList}
 
 Verify Service Sanity
@@ -35,9 +34,9 @@
     Run Keyword If    "${type}" == "SANITY"    Test Service Sanity
 
 Test Service Sanity
-    ${json_result}=    restApi.ApiGet    CH_CORE_SERVICES
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_SERVICES
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     Log    ${json_result_list}
     ${dList}=    Get Variable Value    ${dynamicServiceList}
-    ${test_result}=    utils.compare_list_of_dicts    ${dList}    ${json_result_list}
+    ${test_result}=    CORDRobot.compare_list_of_dicts    ${dList}    ${json_result_list}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_DeploymentTest.txt b/src/test/cord-api/Tests/Ch_DeploymentTest.txt
index 5c38bd7..b334c80 100644
--- a/src/test/cord-api/Tests/Ch_DeploymentTest.txt
+++ b/src/test/cord-api/Tests/Ch_DeploymentTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Ch_Deployment.json
@@ -37,9 +37,9 @@
 
 *** Keywords ***
 Read InputFile
-    ${deploymentList}=    utils.jsonToList    ${PATHFILE}    DeploymentInfo
+    ${deploymentList}=    CORDRobot.jsonToList    ${PATHFILE}    DeploymentInfo
     Set Suite Variable    ${dlist}    ${deploymentList}
-    ${putDeploymentList}=    utils.jsonToList    ${PATHFILE2}    DeploymentInfo
+    ${putDeploymentList}=    CORDRobot.jsonToList    ${PATHFILE2}    DeploymentInfo
     Set Suite Variable    ${putList}    ${putDeploymentList}
 
 Verify Deployment functionality
@@ -52,47 +52,47 @@
 Test Post Deployment API
     [Arguments]    ${listIndex}
     ${deploymentList} =    Get Variable Value    ${dlist}
-    ${deploymentDict}=    utils.listToDict    ${deploymentList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CH_CORE_DEPLOYMENTS    ${deploymentDict}
+    ${deploymentDict}=    CORDRobot.listToDict    ${deploymentList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CH_CORE_DEPLOYMENTS    ${deploymentDict}
     Should Be True    ${api_result}
 
 Test Get Deployment API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CH_CORE_DEPLOYMENTS
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_DEPLOYMENTS
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     Log    ${json_result_list}
     ${deploymentList}=    Get Variable Value    ${dlist}
-    ${deploymentDict}=    utils.listToDict    ${deploymentList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${deploymentDict}    name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${name}
-    ${test_result}=    utils.compare_dict    ${deploymentDict}    ${getJsonDict}
+    ${deploymentDict}=    CORDRobot.listToDict    ${deploymentList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${deploymentDict}    name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    name    ${name}
+    ${test_result}=    CORDRobot.compare_dict    ${deploymentDict}    ${getJsonDict}
     Should Be True    ${test_result}
 
 Test Edit Deployment API
     [Arguments]    ${listIndex}
-    ${get_result}=    restApi.ApiGet    CH_CORE_DEPLOYMENTS
+    ${get_result}=    CORDRobot.ApiGet    CH_CORE_DEPLOYMENTS
     ${putDeploymentList}=    Get Variable Value    ${putList}
-    ${putDeploymentDict}=    utils.listToDict    ${putDeploymentList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${putDeploymentDict}    name
-    ${deploymentDict}=    utils.getDictFromListofDict    ${get_result}    name    ${name}
-    ${deploymentID}=    utils.getFieldValueFromDict    ${deploymentDict}    id
-    ${api_result}=    restApi.ApiPut    CH_CORE_DEPLOYMENTS    ${putDeploymentDict}    ${deploymentID}
+    ${putDeploymentDict}=    CORDRobot.listToDict    ${putDeploymentList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${putDeploymentDict}    name
+    ${deploymentDict}=    CORDRobot.getDictFromListofDict    ${get_result}    name    ${name}
+    ${deploymentID}=    CORDRobot.getFieldValueFromDict    ${deploymentDict}    id
+    ${api_result}=    CORDRobot.ApiPut    CH_CORE_DEPLOYMENTS    ${putDeploymentDict}    ${deploymentID}
     Should Be True    ${api_result}
-    ${getResultAfterPut}=    restApi.ApiGet    CH_CORE_DEPLOYMENTS    ${deploymentID}
-    ${test_result}=    utils.compare_dict    ${putDeploymentDict}    ${getResultAfterPut}
+    ${getResultAfterPut}=    CORDRobot.ApiGet    CH_CORE_DEPLOYMENTS    ${deploymentID}
+    ${test_result}=    CORDRobot.compare_dict    ${putDeploymentDict}    ${getResultAfterPut}
     Should Be True    ${test_result}
 
 Test Delete Deployment API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CH_CORE_DEPLOYMENTS
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_DEPLOYMENTS
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     ${deploymentList}=    Get Variable Value    ${dlist}
-    ${deploymentDict}=    utils.listToDict    ${deploymentList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${deploymentDict}    name
+    ${deploymentDict}=    CORDRobot.listToDict    ${deploymentList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${deploymentDict}    name
     Log    ${name}
-    ${deploymentDict}=    utils.getDictFromListofDict    ${json_result_list}    name    ${name}
+    ${deploymentDict}=    CORDRobot.getDictFromListofDict    ${json_result_list}    name    ${name}
     Log    ${deploymentDict}
-    ${deploymentId}=    utils.getFieldValueFromDict    ${deploymentDict}    id
+    ${deploymentId}=    CORDRobot.getFieldValueFromDict    ${deploymentDict}    id
     Log    ${deploymentId}
-    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_DEPLOYMENTS    ${deploymentId}
+    ${test_result}=    CORDRobot.ApiChameleonDelete    CH_CORE_DEPLOYMENTS    ${deploymentId}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_MultiInstanceTest.txt b/src/test/cord-api/Tests/Ch_MultiInstanceTest.txt
index c0e32d7..15c8544 100644
--- a/src/test/cord-api/Tests/Ch_MultiInstanceTest.txt
+++ b/src/test/cord-api/Tests/Ch_MultiInstanceTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Ch_Subscriber_MultiInstance.json
@@ -28,7 +28,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${subscriberList} =    utils.jsonToList    ${PATHFILE}    SubscriberInfo
+    ${subscriberList} =    CORDRobot.jsonToList    ${PATHFILE}    SubscriberInfo
     Set Suite Variable    ${slist}    ${subscriberList}
     @{instanceList}=    Create List
     ${Subscriber_Id}=    Set Variable
@@ -45,50 +45,50 @@
     [Documentation]    Test posts subscribers and validates the end-end functionality until instance creations
     # Read input from data files and post subscriber
     ${subscriberList} =    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    VOLT_SUBSCRIBER    ${subscriberDict}
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    VOLT_SUBSCRIBER    ${subscriberDict}
     Sleep    30
-    ${service_specific_id}=    utils.getFieldValueFromDict    ${subscriberDict}    service_specific_id
-    ${json_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${service_specific_id}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    service_specific_id
+    ${json_result}=    CORDRobot.ApiGet    VOLT_SUBSCRIBER
     Log    ${json_result}
     # Verifying GET operation after POST and validating the contents posted match the input data
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    service_specific_id    ${service_specific_id}
-    ${result}=    utils.compare_dict    ${subscriberDict}    ${getJsonDict}
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    service_specific_id    ${service_specific_id}
+    ${result}=    CORDRobot.compare_dict    ${subscriberDict}    ${getJsonDict}
     Should Be True    ${result}
-    ${Subscriber_Id}=    utils.getFieldValueFromDict    ${getJsonDict}    id
+    ${Subscriber_Id}=    CORDRobot.getFieldValueFromDict    ${getJsonDict}    id
     Log    ${Subscriber_Id}
     # Retrieve subscribed_links_id from GET result of the posted Subscriber
-    ${subscribed_links_ids_list}=    utils.getFieldValueFromDict    ${getJsonDict}    subscribed_links_ids
+    ${subscribed_links_ids_list}=    CORDRobot.getFieldValueFromDict    ${getJsonDict}    subscribed_links_ids
     Log    ${subscribed_links_ids_list}
     ${subscribed_links_ids}=    Get From List    ${subscribed_links_ids_list}    0
     Log    ${subscribed_links_ids}
     # Retrieve provided_links_ids from core/serviceinstancelink
-    ${getServiceLink}=    restApi.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
+    ${getServiceLink}=    CORDRobot.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
     ${provider_service_instance_id}=    Get From Dictionary    ${getServiceLink}    provider_service_instance_id
     # Verify created volt using the above provider_service_instance_id
     # Verifying GET operation for the Autocreated Volt
-    ${get_result}=    restApi.ApiChameleonGet    VOLT_TENANT    ${provider_service_instance_id}
+    ${get_result}=    CORDRobot.ApiChameleonGet    VOLT_TENANT    ${provider_service_instance_id}
     Should Be True    ${get_result}
     # Get "subscriber_links_ids" from the GET result of /volt/volttenants
     ${subscribed_links_ids_list}=    Get From Dictionary    ${get_result}    subscribed_links_ids
     ${subscribed_links_ids}=    Get From List    ${subscribed_links_ids_list}    0
     # Validation of Instances
     Log    ${instanceList}
-    ${serviceLinkDict}=    restApi.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
+    ${serviceLinkDict}=    CORDRobot.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
     Log    ${serviceLinkDict}
     ${VSGTenant}=    Get From Dictionary    ${serviceLinkDict}    provider_service_instance_id
     # Retrieve VSGTenant to retrieve instance_id
-    ${getVSG_result}=    restApi.ApiChameleonGet    VSG_TENANT    ${VSGTenant}
+    ${getVSG_result}=    CORDRobot.ApiChameleonGet    VSG_TENANT    ${VSGTenant}
     ${instance_id}=    Get From Dictionary    ${getVSG_result}    instance_id
     Append To List    ${instanceList}    ${instance_id}
     Log    ${instanceList}
-    ${get_CoreInstanceresult}=    restApi.ApiChameleonGet    CH_CORE_INSTANCES    ${instance_id}
+    ${get_CoreInstanceresult}=    CORDRobot.ApiChameleonGet    CH_CORE_INSTANCES    ${instance_id}
     Should Be True    ${get_CoreInstanceresult}
 
 Test Instance Validation
     [Arguments]    ${listIndex}
-    ${get_result}=    restApi.ApiGet    VSG_TENANT
+    ${get_result}=    CORDRobot.ApiGet    VSG_TENANT
     Should Be True    ${get_result}
     ${instanceFinalList}=    Remove Duplicates    ${instanceList}
     Log    ${instanceFinalList}
diff --git a/src/test/cord-api/Tests/Ch_NodeTest.txt b/src/test/cord-api/Tests/Ch_NodeTest.txt
index 108e6c9..09e4829 100644
--- a/src/test/cord-api/Tests/Ch_NodeTest.txt
+++ b/src/test/cord-api/Tests/Ch_NodeTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../Properties/RestApiProperties.py
 
 *** Variables ***
@@ -31,7 +31,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${nodeList}=    utils.jsonToList    ${PATHFILE}    NodeInfo
+    ${nodeList}=    CORDRobot.jsonToList    ${PATHFILE}    NodeInfo
     Set Suite Variable    ${nlist}    ${nodeList}
     ${siteDeployment}=    Catenate    SEPARATOR=    http://    ${IP}    :    ${PORT}
     ...    /api/core/sitedeployments/1/
@@ -46,34 +46,34 @@
 Test Post Node API
     [Arguments]    ${listIndex}
     ${nodeList}=    Get Variable Value    ${nlist}
-    ${nodeDict}=    utils.listToDict    ${nodeList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CH_CORE_NODES    ${nodeDict}
+    ${nodeDict}=    CORDRobot.listToDict    ${nodeList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CH_CORE_NODES    ${nodeDict}
     Should Be True    ${api_result}
 
 Test Get Node API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CH_CORE_NODES
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_NODES
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     Log    ${json_result_list}
     ${nodeList}=    Get Variable Value    ${nlist}
-    ${nodeDict}=    utils.listToDict    ${nodeList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${nodeDict}    name
+    ${nodeDict}=    CORDRobot.listToDict    ${nodeList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${nodeDict}    name
     Log    ${name}
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${name}
-    ${test_result}=    utils.compare_dict    ${nodeDict}    ${getJsonDict}
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    name    ${name}
+    ${test_result}=    CORDRobot.compare_dict    ${nodeDict}    ${getJsonDict}
     Should Be True    ${test_result}
 
 Test Delete Node API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CH_CORE_NODES
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_NODES
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     ${nodeList}=    Get Variable Value    ${nlist}
-    ${nodeDict}=    utils.listToDict    ${nodeList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${nodeDict}    name
+    ${nodeDict}=    CORDRobot.listToDict    ${nodeList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${nodeDict}    name
     Log    ${name}
-    ${nodeDict}=    utils.getDictFromListofDict    ${json_result_list}    name    ${name}
+    ${nodeDict}=    CORDRobot.getDictFromListofDict    ${json_result_list}    name    ${name}
     Log    ${nodeDict}
-    ${nodeId}=    utils.getFieldValueFromDict    ${nodeDict}    id
+    ${nodeId}=    CORDRobot.getFieldValueFromDict    ${nodeDict}    id
     Log    ${nodeId}
-    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_NODES    ${nodeId}
+    ${test_result}=    CORDRobot.ApiChameleonDelete    CH_CORE_NODES    ${nodeId}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_SanityFlavors.txt b/src/test/cord-api/Tests/Ch_SanityFlavors.txt
index 8629c62..38dd31c 100644
--- a/src/test/cord-api/Tests/Ch_SanityFlavors.txt
+++ b/src/test/cord-api/Tests/Ch_SanityFlavors.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Ch_Flavors.json
@@ -30,7 +30,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${flavorList} =    utils.jsonToList    ${PATHFILE}    flavorsInfo
+    ${flavorList} =    CORDRobot.jsonToList    ${PATHFILE}    flavorsInfo
     Set Suite Variable    ${vList}    ${flavorList}
 
 Verify Flavor API functionality
@@ -42,33 +42,33 @@
 Test Post Flavors
     [Arguments]    ${listIndex}
     ${flavorList} =    Get Variable Value    ${vList}
-    ${flavorDict}=    utils.listToDict    ${flavorList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CH_CORE_FLAVORS    ${flavorDict}
+    ${flavorDict}=    CORDRobot.listToDict    ${flavorList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CH_CORE_FLAVORS    ${flavorDict}
     Should Be True    ${api_result}
 
 Test Get Flavors
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CH_CORE_FLAVORS
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_FLAVORS
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     Log    ${json_result_list}
     ${flavorList}=    Get Variable Value    ${vList}
-    ${inputDict}=    utils.listToDict    ${flavorList}    ${listIndex}
-    ${flavorName}=    utils.getFieldValueFromDict    ${inputDict}    name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${flavorName}
-    ${test_result}=    utils.compare_dict    ${inputDict}    ${getJsonDict}
+    ${inputDict}=    CORDRobot.listToDict    ${flavorList}    ${listIndex}
+    ${flavorName}=    CORDRobot.getFieldValueFromDict    ${inputDict}    name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    name    ${flavorName}
+    ${test_result}=    CORDRobot.compare_dict    ${inputDict}    ${getJsonDict}
     Should Be True    ${json_result}
 
 Test Delete Flavors
     [Arguments]    ${listIndex}
-    ${json_getresult}=    restApi.ApiGet    CH_CORE_FLAVORS
+    ${json_getresult}=    CORDRobot.ApiGet    CH_CORE_FLAVORS
     ${json_getresult_list}=    Get From Dictionary    ${json_getresult}    items
     ${flavorList}=    Get Variable Value    ${vList}
-    ${flavorDict}=    utils.listToDict    ${vList}    ${listIndex}
-    ${flavorName}=    utils.getFieldValueFromDict    ${flavorDict}    name
+    ${flavorDict}=    CORDRobot.listToDict    ${vList}    ${listIndex}
+    ${flavorName}=    CORDRobot.getFieldValueFromDict    ${flavorDict}    name
     Log    ${flavorName}
-    ${getFlavorDict}=    utils.getDictFromListofDict    ${json_getresult_list}    name    ${flavorName}
+    ${getFlavorDict}=    CORDRobot.getDictFromListofDict    ${json_getresult_list}    name    ${flavorName}
     Log    ${getFlavorDict}
-    ${flavorID}=    utils.getFieldValueFromDict    ${getFlavorDict}    id
+    ${flavorID}=    CORDRobot.getFieldValueFromDict    ${getFlavorDict}    id
     Log    ${flavorID}
-    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_FLAVORS    ${flavorID}
+    ${test_result}=    CORDRobot.ApiChameleonDelete    CH_CORE_FLAVORS    ${flavorID}
     Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_SanityInstance.txt b/src/test/cord-api/Tests/Ch_SanityInstance.txt
index 2efcd98..70b2d0d 100644
--- a/src/test/cord-api/Tests/Ch_SanityInstance.txt
+++ b/src/test/cord-api/Tests/Ch_SanityInstance.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Ch_SanityInstance.json
@@ -34,7 +34,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${instanceList} =    utils.jsonToList    ${PATHFILE}    InstanceInfo
+    ${instanceList} =    CORDRobot.jsonToList    ${PATHFILE}    InstanceInfo
     Set Suite Variable    ${iList}    ${instanceList}
 
 Verify Instance API functionality
@@ -46,34 +46,34 @@
 Test Post Instances
     [Arguments]    ${listIndex}
     ${instanceList} =    Get Variable Value    ${iList}
-    ${instanceDict}=    utils.listToDict    ${instanceList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CH_CORE_INSTANCES    ${instanceDict}
+    ${instanceDict}=    CORDRobot.listToDict    ${instanceList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CH_CORE_INSTANCES    ${instanceDict}
     Should Be True    ${api_result}
 
 Test Get Instances
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CH_CORE_INSTANCES
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_INSTANCES
     Log    ${json_result}
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     Log    ${json_result_list}
     ${instanceList}=    Get Variable Value    ${iList}
-    ${inputDict}=    utils.listToDict    ${instanceList}    ${listIndex}
-    ${instanceName}=    utils.getFieldValueFromDict    ${inputDict}    name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${instanceName}
-    ${test_result}=    utils.compare_dict    ${inputDict}    ${getJsonDict}
+    ${inputDict}=    CORDRobot.listToDict    ${instanceList}    ${listIndex}
+    ${instanceName}=    CORDRobot.getFieldValueFromDict    ${inputDict}    name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    name    ${instanceName}
+    ${test_result}=    CORDRobot.compare_dict    ${inputDict}    ${getJsonDict}
     Should Be True    ${json_result}
 
 Test Delete Instances
     [Arguments]    ${listIndex}
-    ${json_getresult}=    restApi.ApiGet    CH_CORE_INSTANCES
+    ${json_getresult}=    CORDRobot.ApiGet    CH_CORE_INSTANCES
     ${json_getresult_list}=    Get From Dictionary    ${json_getresult}    items
     ${instanceList}=    Get Variable Value    ${iList}
-    ${instanceDict}=    utils.listToDict    ${iList}    ${listIndex}
-    ${instanceName}=    utils.getFieldValueFromDict    ${instanceDict}    name
+    ${instanceDict}=    CORDRobot.listToDict    ${iList}    ${listIndex}
+    ${instanceName}=    CORDRobot.getFieldValueFromDict    ${instanceDict}    name
     Log    ${instanceName}
-    ${getInstanceDict}=    utils.getDictFromListofDict    ${json_getresult_list}    name    ${instanceName}
+    ${getInstanceDict}=    CORDRobot.getDictFromListofDict    ${json_getresult_list}    name    ${instanceName}
     Log    ${getInstanceDict}
-    ${instanceID}=    utils.getFieldValueFromDict    ${getInstanceDict}    id
+    ${instanceID}=    CORDRobot.getFieldValueFromDict    ${getInstanceDict}    id
     Log    ${instanceID}
-    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_INSTANCES    ${instanceID}
+    ${test_result}=    CORDRobot.ApiChameleonDelete    CH_CORE_INSTANCES    ${instanceID}
     Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_ServiceTest.txt b/src/test/cord-api/Tests/Ch_ServiceTest.txt
index 6dbb0f0..203dd9a 100644
--- a/src/test/cord-api/Tests/Ch_ServiceTest.txt
+++ b/src/test/cord-api/Tests/Ch_ServiceTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Ch_Service.json
@@ -39,9 +39,9 @@
 
 *** Keywords ***
 Read InputFile
-    ${serviceList}=    utils.jsonToList    ${PATHFILE}    ServiceInfo
+    ${serviceList}=    CORDRobot.jsonToList    ${PATHFILE}    ServiceInfo
     Set Suite Variable    ${slist}    ${serviceList}
-    ${putServiceList}=    utils.jsonToList    ${PATHFILE2}    ServiceInfo
+    ${putServiceList}=    CORDRobot.jsonToList    ${PATHFILE2}    ServiceInfo
     Set Suite Variable    ${putList}    ${putServiceList}
 
 Verify Service functionality
@@ -54,49 +54,49 @@
 Test Post Service API
     [Arguments]    ${listIndex}
     ${serviceList} =    Get Variable Value    ${slist}
-    ${serviceDict}=    utils.listToDict    ${serviceList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CH_CORE_SERVICES    ${serviceDict}
+    ${serviceDict}=    CORDRobot.listToDict    ${serviceList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CH_CORE_SERVICES    ${serviceDict}
     Should Be True    ${api_result}
 
 Test Get Service API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CH_CORE_SERVICES
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_SERVICES
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     Log    ${json_result_list}
     Log    ${json_result}
     ${serviceList}=    Get Variable Value    ${slist}
-    ${serviceDict}=    utils.listToDict    ${serviceList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${serviceDict}    name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${name}
-    ${test_result}=    utils.compare_dict    ${serviceDict}    ${getJsonDict}
+    ${serviceDict}=    CORDRobot.listToDict    ${serviceList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${serviceDict}    name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    name    ${name}
+    ${test_result}=    CORDRobot.compare_dict    ${serviceDict}    ${getJsonDict}
     Should Be True    ${test_result}
 
 Test Edit Service API
     [Arguments]    ${listIndex}
-    ${get_result}=    restApi.ApiGet    CH_CORE_SERVICES
+    ${get_result}=    CORDRobot.ApiGet    CH_CORE_SERVICES
     ${get_result_list}=    Get From Dictionary    ${get_result}    items
     ${putServiceList}=    Get Variable Value    ${putList}
-    ${putServiceDict}=    utils.listToDict    ${putServiceList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${putServiceDict}    name
-    ${serviceDict}=    utils.getDictFromListofDict    ${get_result_list}    name    ${name}
-    ${serviceID}=    utils.getFieldValueFromDict    ${serviceDict}    id
-    ${api_result}=    restApi.ApiChameleonPut    CH_CORE_SERVICES    ${putServiceDict}    ${serviceID}
+    ${putServiceDict}=    CORDRobot.listToDict    ${putServiceList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${putServiceDict}    name
+    ${serviceDict}=    CORDRobot.getDictFromListofDict    ${get_result_list}    name    ${name}
+    ${serviceID}=    CORDRobot.getFieldValueFromDict    ${serviceDict}    id
+    ${api_result}=    CORDRobot.ApiChameleonPut    CH_CORE_SERVICES    ${putServiceDict}    ${serviceID}
     Should Be True    ${api_result}
-    ${getResultAfterPut}=    restApi.ApiChameleonGet    CH_CORE_SERVICES    ${serviceID}
-    ${test_result}=    utils.compare_dict    ${putServiceDict}    ${getResultAfterPut}
+    ${getResultAfterPut}=    CORDRobot.ApiChameleonGet    CH_CORE_SERVICES    ${serviceID}
+    ${test_result}=    CORDRobot.compare_dict    ${putServiceDict}    ${getResultAfterPut}
     Should Be True    ${test_result}
 
 Test Delete Service API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CH_CORE_SERVICES
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_SERVICES
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     ${serviceList}=    Get Variable Value    ${slist}
-    ${serviceDict}=    utils.listToDict    ${serviceList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${serviceDict}    name
+    ${serviceDict}=    CORDRobot.listToDict    ${serviceList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${serviceDict}    name
     Log    ${name}
-    ${serviceDict}=    utils.getDictFromListofDict    ${json_result_list}    name    ${name}
+    ${serviceDict}=    CORDRobot.getDictFromListofDict    ${json_result_list}    name    ${name}
     Log    ${serviceDict}
-    ${serviceId}=    utils.getFieldValueFromDict    ${serviceDict}    id
+    ${serviceId}=    CORDRobot.getFieldValueFromDict    ${serviceDict}    id
     Log    ${serviceId}
-    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_SERVICES    ${serviceId}
+    ${test_result}=    CORDRobot.ApiChameleonDelete    CH_CORE_SERVICES    ${serviceId}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_SingleInstanceTest.txt b/src/test/cord-api/Tests/Ch_SingleInstanceTest.txt
index c229698..2c9aa6f 100644
--- a/src/test/cord-api/Tests/Ch_SingleInstanceTest.txt
+++ b/src/test/cord-api/Tests/Ch_SingleInstanceTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Ch_Subscriber.json
@@ -38,9 +38,9 @@
 
 *** Keywords ***
 Read InputFile
-    ${subscriberList} =    utils.jsonToList    ${PATHFILE}    SubscriberInfo
+    ${subscriberList} =    CORDRobot.jsonToList    ${PATHFILE}    SubscriberInfo
     Set Suite Variable    ${slist}    ${subscriberList}
-    ${voltList}=    utils.jsonToList    ${PATHFILE2}    voltSubscriberInfo
+    ${voltList}=    CORDRobot.jsonToList    ${PATHFILE2}    voltSubscriberInfo
     Set Suite Variable    ${vlist}    ${voltList}
     @{instanceList}=    Create List
     Set Suite Variable    @{instanceList}
@@ -54,71 +54,71 @@
 Test Post Subscriber Create
     [Arguments]    ${listIndex}
     ${subscriberList} =    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    VOLT_SUBSCRIBER    ${subscriberDict}
-    ${service_specific_id}=    utils.getFieldValueFromDict    ${subscriberDict}    service_specific_id
-    ${json_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    VOLT_SUBSCRIBER    ${subscriberDict}
+    ${service_specific_id}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    service_specific_id
+    ${json_result}=    CORDRobot.ApiGet    VOLT_SUBSCRIBER
     Log    ${json_result}
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    service_specific_id    ${service_specific_id}
-    ${result}=    utils.compare_dict    ${subscriberDict}    ${getJsonDict}
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    service_specific_id    ${service_specific_id}
+    ${result}=    CORDRobot.compare_dict    ${subscriberDict}    ${getJsonDict}
     Should Be True    ${result}
     ${instanceList}    Create List
 
 Test Post volt Tenant Create
     [Arguments]    ${listIndex}
     ${subscriberList} =    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${service_specific_id}=    utils.getFieldValueFromDict    ${subscriberDict}    service_specific_id
-    ${json_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${service_specific_id}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    service_specific_id
+    ${json_result}=    CORDRobot.ApiGet    VOLT_SUBSCRIBER
     Log    ${json_result}
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    service_specific_id    ${service_specific_id}
-    ${Subscriber_Id}=    utils.getFieldValueFromDict    ${getJsonDict}    id
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    service_specific_id    ${service_specific_id}
+    ${Subscriber_Id}=    CORDRobot.getFieldValueFromDict    ${getJsonDict}    id
     Log    ${Subscriber_Id}
     ${voltTenantList} =    Get Variable Value    ${vlist}
-    ${voltTenantDict}=    utils.listToDict    ${voltTenantList}    ${listIndex}
+    ${voltTenantDict}=    CORDRobot.listToDict    ${voltTenantList}    ${listIndex}
     ${voltDict}=    Get From Dictionary    ${voltTenantDict}    voltTenant
     ${c_tag}=    Get From Dictionary    ${voltDict}    c_tag
-    ${postResult}=    restApi.ApiPost    VOLT_TENANT    ${voltDict}
+    ${postResult}=    CORDRobot.ApiPost    VOLT_TENANT    ${voltDict}
     Sleep    30
     # Verifying GET operation after POST
-    ${get_result}=    restApi.ApiGet    VOLT_TENANT
+    ${get_result}=    CORDRobot.ApiGet    VOLT_TENANT
     ${get_result_list}=    Get From Dictionary    ${get_result}    items
-    ${getJsonDict}=    utils.getDictFromListofDict    ${get_result_list}    c_tag    ${c_tag}
+    ${getJsonDict}=    CORDRobot.getDictFromListofDict    ${get_result_list}    c_tag    ${c_tag}
     Log    ${getJsonDict}
-    ${test_result}=    utils.compare_dict    ${voltDict}    ${getJsonDict}
+    ${test_result}=    CORDRobot.compare_dict    ${voltDict}    ${getJsonDict}
     Should Be True    ${test_result}
     ${Volt_Id}=    Get From Dictionary    ${getJsonDict}    id
-    ${provided_links_ids_list}=    utils.getFieldValueFromDict    ${getJsonDict}    provided_links_ids
+    ${provided_links_ids_list}=    CORDRobot.getFieldValueFromDict    ${getJsonDict}    provided_links_ids
     Log    ${provided_links_ids_list}
     ${provided_links_ids}=    Get From List    ${provided_links_ids_list}    0
     Log    ${provided_links_ids}
     # Get subscribed_links_ids from volttenant
-    ${subscribed_links_ids_list}=    utils.getFieldValueFromDict    ${getJsonDict}    subscribed_links_ids
+    ${subscribed_links_ids_list}=    CORDRobot.getFieldValueFromDict    ${getJsonDict}    subscribed_links_ids
     ${subscribed_links_ids}=    Get From List    ${subscribed_links_ids_list}    0
     # Retrieve service links using provided links ID
-    ${getServiceLink}=    restApi.ApiChameleonGet    CH_CORE_SERVICELINK    ${provided_links_ids}
+    ${getServiceLink}=    CORDRobot.ApiChameleonGet    CH_CORE_SERVICELINK    ${provided_links_ids}
     ${provider_service_instance_id}=    Get From Dictionary    ${getServiceLink}    provider_service_instance_id
     # Update the subscriber_service_instance_id to the required subscriber_id to establish desired link
     ${serviceDict}=    Create Dictionary    subscriber_service_instance_id=${Subscriber_Id}
-    ${result}=    restApi.ApiChameleonPut    CH_CORE_SERVICELINK    ${serviceDict}    ${provided_links_ids}
+    ${result}=    CORDRobot.ApiChameleonPut    CH_CORE_SERVICELINK    ${serviceDict}    ${provided_links_ids}
     Sleep    30
     Should Be True    ${result}
     # Validation of Instances
     Log    ${instanceList}
-    ${serviceLinkDict}=    restApi.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
+    ${serviceLinkDict}=    CORDRobot.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
     Log    ${serviceLinkDict}
     ${VSGTenant}=    Get From Dictionary    ${serviceLinkDict}    provider_service_instance_id
     # Retrieve VSGTenant to retrieve instance_id
-    ${getVSG_result}=    restApi.ApiChameleonGet    VSG_TENANT    ${VSGTenant}
+    ${getVSG_result}=    CORDRobot.ApiChameleonGet    VSG_TENANT    ${VSGTenant}
     ${instance_id}=    Get From Dictionary    ${getVSG_result}    instance_id
     Append To List    ${instanceList}    ${instance_id}
     Log    ${instanceList}
 
 Test Instance Validation
     [Arguments]    ${listIndex}
-    ${get_result}=    restApi.ApiGet    VSG_TENANT
+    ${get_result}=    CORDRobot.ApiGet    VSG_TENANT
     Should Be True    ${get_result}
     ${instanceFinalList}=    Remove Duplicates    ${instanceList}
     Log    ${instanceFinalList}
@@ -126,5 +126,5 @@
     Log    ${instanceCount}
     Should Be True    ${instanceCount} == 1
     ${instance_id}=    Get From List    ${instanceFinalList}    0
-    ${get_CoreInstanceresult}=    restApi.ApiChameleonGet    CH_CORE_INSTANCES    ${instance_id}
+    ${get_CoreInstanceresult}=    CORDRobot.ApiChameleonGet    CH_CORE_INSTANCES    ${instance_id}
     Should Be True    ${get_CoreInstanceresult}
diff --git a/src/test/cord-api/Tests/Ch_SiteTest.txt b/src/test/cord-api/Tests/Ch_SiteTest.txt
index 7e48e58..b23ec31 100644
--- a/src/test/cord-api/Tests/Ch_SiteTest.txt
+++ b/src/test/cord-api/Tests/Ch_SiteTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Ch_Site.json
@@ -33,9 +33,9 @@
 
 *** Keywords ***
 Read InputFile
-    ${siteList}=    utils.jsonToList    ${PATHFILE}    SiteInfo
+    ${siteList}=    CORDRobot.jsonToList    ${PATHFILE}    SiteInfo
     Set Suite Variable    ${slist}    ${siteList}
-    ${putSiteList}=    utils.jsonToList    ${PATHFILE2}    SiteInfo
+    ${putSiteList}=    CORDRobot.jsonToList    ${PATHFILE2}    SiteInfo
     Set Suite Variable    ${putList}    ${putSiteList}
 
 Verify Site functionality
@@ -48,48 +48,48 @@
 Test Post Site API
     [Arguments]    ${listIndex}
     ${siteList} =    Get Variable Value    ${slist}
-    ${siteDict}=    utils.listToDict    ${siteList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CH_CORE_SITES    ${siteDict}
+    ${siteDict}=    CORDRobot.listToDict    ${siteList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CH_CORE_SITES    ${siteDict}
     Should Be True    ${api_result}
 
 Test Get Site API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CH_CORE_SITES
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_SITES
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     Log    ${json_result_list}
     ${siteList}=    Get Variable Value    ${slist}
-    ${siteDict}=    utils.listToDict    ${siteList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${siteDict}    name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${name}
-    ${test_result}=    utils.compare_dict    ${siteDict}    ${getJsonDict}
+    ${siteDict}=    CORDRobot.listToDict    ${siteList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${siteDict}    name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    name    ${name}
+    ${test_result}=    CORDRobot.compare_dict    ${siteDict}    ${getJsonDict}
     Should Be True    ${test_result}
 
 Test Edit Site API
     [Arguments]    ${listIndex}
-    ${get_result}=    restApi.ApiGet    CH_CORE_SITES
+    ${get_result}=    CORDRobot.ApiGet    CH_CORE_SITES
     ${get_result_list}=    Get From Dictionary    ${get_result}    items
     ${putSiteList}=    Get Variable Value    ${putList}
-    ${putSiteDict}=    utils.listToDict    ${putSiteList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${putSiteDict}    name
-    ${siteDict}=    utils.getDictFromListofDict    ${get_result_list}    name    ${name}
-    ${siteID}=    utils.getFieldValueFromDict    ${siteDict}    id
-    ${api_result}=    restApi.ApiChameleonPut    CH_CORE_SITES    ${putSiteDict}    ${siteID}
+    ${putSiteDict}=    CORDRobot.listToDict    ${putSiteList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${putSiteDict}    name
+    ${siteDict}=    CORDRobot.getDictFromListofDict    ${get_result_list}    name    ${name}
+    ${siteID}=    CORDRobot.getFieldValueFromDict    ${siteDict}    id
+    ${api_result}=    CORDRobot.ApiChameleonPut    CH_CORE_SITES    ${putSiteDict}    ${siteID}
     Should Be True    ${api_result}
-    ${getResultAfterPut}=    restApi.ApiChameleonGet    CH_CORE_SITES    ${siteID}
-    ${test_result}=    utils.compare_dict    ${putSiteDict}    ${getResultAfterPut}
+    ${getResultAfterPut}=    CORDRobot.ApiChameleonGet    CH_CORE_SITES    ${siteID}
+    ${test_result}=    CORDRobot.compare_dict    ${putSiteDict}    ${getResultAfterPut}
     Should Be True    ${test_result}
 
 Test Delete Site API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CH_CORE_SITES
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_SITES
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     ${siteList}=    Get Variable Value    ${slist}
-    ${siteDict}=    utils.listToDict    ${siteList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${siteDict}    name
+    ${siteDict}=    CORDRobot.listToDict    ${siteList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${siteDict}    name
     Log    ${name}
-    ${siteDict}=    utils.getDictFromListofDict    ${json_result_list}    name    ${name}
+    ${siteDict}=    CORDRobot.getDictFromListofDict    ${json_result_list}    name    ${name}
     Log    ${siteDict}
-    ${siteId}=    utils.getFieldValueFromDict    ${siteDict}    id
+    ${siteId}=    CORDRobot.getFieldValueFromDict    ${siteDict}    id
     Log    ${siteId}
-    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_SITES    ${siteId}
+    ${test_result}=    CORDRobot.ApiChameleonDelete    CH_CORE_SITES    ${siteId}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_SliceTest.txt b/src/test/cord-api/Tests/Ch_SliceTest.txt
index 4299da1..f8218ac 100644
--- a/src/test/cord-api/Tests/Ch_SliceTest.txt
+++ b/src/test/cord-api/Tests/Ch_SliceTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../Properties/RestApiProperties.py
 
 *** Variables ***
@@ -26,7 +26,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${sliceList} =    utils.jsonToList    ${PATHFILE}    SliceInfo
+    ${sliceList} =    CORDRobot.jsonToList    ${PATHFILE}    SliceInfo
     Set Suite Variable    ${sList}    ${sliceList}
 
 Verify Slice API functionality
@@ -38,33 +38,33 @@
 Test Post Slice API
     [Arguments]    ${listIndex}
     ${sliceList} =    Get Variable Value    ${sList}
-    ${sliceDict}=    utils.listToDict    ${sliceList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CH_CORE_SLICES    ${sliceDict}
+    ${sliceDict}=    CORDRobot.listToDict    ${sliceList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CH_CORE_SLICES    ${sliceDict}
     Should Be True    ${api_result}
 
 Test Get Slice API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CH_CORE_SLICES
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_SLICES
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     Log    ${json_result_list}
     ${sliceList}=    Get Variable Value    ${sList}
-    ${sliceDict}=    utils.listToDict    ${sliceList}    ${listIndex}
+    ${sliceDict}=    CORDRobot.listToDict    ${sliceList}    ${listIndex}
     ${sliceName}=    Get From Dictionary    ${sliceDict}    name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    name    ${sliceName}
-    ${test_result}=    utils.compare_dict    ${sliceDict}    ${getJsonDict}
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    name    ${sliceName}
+    ${test_result}=    CORDRobot.compare_dict    ${sliceDict}    ${getJsonDict}
     Should Be True    ${json_result}
 
 Test Delete Slice API
     [Arguments]    ${listIndex}
-    ${json_getresult}=    restApi.ApiGet    CH_CORE_SLICES
+    ${json_getresult}=    CORDRobot.ApiGet    CH_CORE_SLICES
     ${json_getresult_list}=    Get From Dictionary    ${json_getresult}    items
     ${sliceList}=    Get Variable Value    ${sList}
-    ${sliceDict}=    utils.listToDict    ${sList}    ${listIndex}
-    ${sliceName}=    utils.getFieldValueFromDict    ${sliceDict}    name
+    ${sliceDict}=    CORDRobot.listToDict    ${sList}    ${listIndex}
+    ${sliceName}=    CORDRobot.getFieldValueFromDict    ${sliceDict}    name
     Log    ${sliceName}
-    ${getSliceDict}=    utils.getDictFromListofDict    ${json_getresult_list}    name    ${sliceName}
+    ${getSliceDict}=    CORDRobot.getDictFromListofDict    ${json_getresult_list}    name    ${sliceName}
     Log    ${getSliceDict}
-    ${sliceID}=    utils.getFieldValueFromDict    ${getSliceDict}    id
+    ${sliceID}=    CORDRobot.getFieldValueFromDict    ${getSliceDict}    id
     Log    ${sliceID}
-    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_SLICES    ${sliceID}
+    ${test_result}=    CORDRobot.ApiChameleonDelete    CH_CORE_SLICES    ${sliceID}
     Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_SubscriberTest.txt b/src/test/cord-api/Tests/Ch_SubscriberTest.txt
index 705a0ba..3933c6e 100644
--- a/src/test/cord-api/Tests/Ch_SubscriberTest.txt
+++ b/src/test/cord-api/Tests/Ch_SubscriberTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Ch_Subscriber.json
@@ -44,9 +44,9 @@
 
 *** Keywords ***
 Read InputFile
-    ${subscriberList} =    utils.jsonToList    ${PATHFILE}    SubscriberInfo
+    ${subscriberList} =    CORDRobot.jsonToList    ${PATHFILE}    SubscriberInfo
     Set Suite Variable    ${slist}    ${subscriberList}
-    ${putSubscriberList}=    utils.jsonToList    ${PATHFILE2}    SubscriberInfo
+    ${putSubscriberList}=    CORDRobot.jsonToList    ${PATHFILE2}    SubscriberInfo
     Set Suite Variable    ${putList}    ${putSubscriberList}
 
 Verify Subscriber functionality
@@ -59,53 +59,53 @@
 Test Post Subscriber API
     [Arguments]    ${listIndex}
     ${subscriberList} =    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    VOLT_SUBSCRIBER    ${subscriberDict}
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    VOLT_SUBSCRIBER    ${subscriberDict}
     Should Be True    ${api_result}
 
 Test Get Subscriber API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${json_result}=    CORDRobot.ApiGet    VOLT_SUBSCRIBER
     Log    ${json_result}
     ${subscriberList}=    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${AccountNum}=    utils.getFieldValueFromDict    ${subscriberDict}    service_specific_id
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${AccountNum}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    service_specific_id
     Log    ${AccountNum}
     ${json_result_list}=    Get From dictionary    ${json_result}    items
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    service_specific_id    ${AccountNum}
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    service_specific_id    ${AccountNum}
     Log    ${getJsonDict}
     Log    ${subscriberDict}
-    ${test_result}=    utils.compare_dict    ${subscriberDict}    ${getJsonDict}
+    ${test_result}=    CORDRobot.compare_dict    ${subscriberDict}    ${getJsonDict}
     Should Be True    ${test_result}
 
 Test Edit Subscriber API
     [Arguments]    ${listIndex}
-    ${get_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${get_result}=    CORDRobot.ApiGet    VOLT_SUBSCRIBER
     ${get_result_list}=    Get From Dictionary    ${get_result}    items
     ${putSubscriberList}=    Get Variable Value    ${putList}
-    ${putSubscriberDict}=    utils.listToDict    ${putSubscriberList}    ${listIndex}
-    ${AcctNum}=    utils.getFieldValueFromDict    ${putSubscriberDict}    service_specific_id
+    ${putSubscriberDict}=    CORDRobot.listToDict    ${putSubscriberList}    ${listIndex}
+    ${AcctNum}=    CORDRobot.getFieldValueFromDict    ${putSubscriberDict}    service_specific_id
     Log    ${AcctNum}
-    ${subscriberDict}=    utils.getDictFromListofDict    ${get_result_list}    service_specific_id    ${AcctNum}
-    ${subscriberID}=    utils.getFieldValueFromDict    ${subscriberDict}    id
-    ${api_result}=    restApi.ApiChameleonPut    VOLT_SUBSCRIBER    ${putSubscriberDict}    ${subscriberID}
+    ${subscriberDict}=    CORDRobot.getDictFromListofDict    ${get_result_list}    service_specific_id    ${AcctNum}
+    ${subscriberID}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    id
+    ${api_result}=    CORDRobot.ApiChameleonPut    VOLT_SUBSCRIBER    ${putSubscriberDict}    ${subscriberID}
     Should Be True    ${api_result}
-    ${getResultAfterPut}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${getResultAfterPut}=    CORDRobot.ApiGet    VOLT_SUBSCRIBER
     ${getResultList_AfterPut}=    Get From Dictionary    ${getResultAfterPut}    items
-    ${getResultDict}=    utils.getDictFromListOfDict    ${getResultList_AfterPut}    service_specific_id    ${AcctNum}
-    ${test_result}=    utils.compare_dict    ${putSubscriberDict}    ${getResultDict}
+    ${getResultDict}=    CORDRobot.getDictFromListOfDict    ${getResultList_AfterPut}    service_specific_id    ${AcctNum}
+    ${test_result}=    CORDRobot.compare_dict    ${putSubscriberDict}    ${getResultDict}
     Should Be True    ${test_result}
 
 Test Delete Subscriber API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${json_result}=    CORDRobot.ApiGet    VOLT_SUBSCRIBER
     ${subscriberList}=    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${AcctNum}=    utils.getFieldValueFromDict    ${subscriberDict}    service_specific_id
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${AcctNum}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    service_specific_id
     Log    ${AcctNum}
-    ${subscriberDict}=    utils.getDictFromListofDict    ${json_result}    service_specific_id    ${AcctNum}
+    ${subscriberDict}=    CORDRobot.getDictFromListofDict    ${json_result}    service_specific_id    ${AcctNum}
     Log    ${subscriberDict}
-    ${subscriberId}=    utils.getFieldValueFromDict    ${subscriberDict}    id
+    ${subscriberId}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    id
     Log    ${subscriberId}
-    ${test_result}=    restApi.ApiDelete    VOLT_SUBSCRIBER    ${subscriberId}
+    ${test_result}=    CORDRobot.ApiDelete    VOLT_SUBSCRIBER    ${subscriberId}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_SubscriberVolt_Delete.txt b/src/test/cord-api/Tests/Ch_SubscriberVolt_Delete.txt
index 9f47112..cd6383e 100644
--- a/src/test/cord-api/Tests/Ch_SubscriberVolt_Delete.txt
+++ b/src/test/cord-api/Tests/Ch_SubscriberVolt_Delete.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Ch_VoltTenant.json
@@ -25,7 +25,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${voltList} =    utils.jsonToList    ${PATHFILE}    voltSubscriberInfo
+    ${voltList} =    CORDRobot.jsonToList    ${PATHFILE}    voltSubscriberInfo
     Set Suite Variable    ${vlist}    ${voltList}
 
 Verify Deletion of Subscriber and volt Tenant functionality
@@ -34,26 +34,26 @@
 
 Test Delete Subscriber and voltTenant
     [Arguments]    ${listIndex}
-    ${getSubscriber_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${getSubscriber_result}=    CORDRobot.ApiGet    VOLT_SUBSCRIBER
     ${getSubscriber_result_list}=    Get From Dictionary    ${getSubscriber_result}    items
-    ${getVoltTenant_result}=    restApi.ApiGet    VOLT_TENANT
+    ${getVoltTenant_result}=    CORDRobot.ApiGet    VOLT_TENANT
     ${getVoltTenant_result_list}=    Get From Dictionary    ${getVoltTenant_result}    items
     ${voltList}=    Get Variable Value    ${vlist}
-    ${voltTenantDict}=    utils.listToDict    ${voltList}    ${listIndex}
+    ${voltTenantDict}=    CORDRobot.listToDict    ${voltList}    ${listIndex}
     ${voltDict}=    Get From Dictionary    ${voltTenantDict}    voltTenant
     ${servicespecific_id}=    Get From Dictionary    ${voltTenantDict}    service_specific_id
-    ${subscriberDict}=    utils.getDictFromListofDict    ${getSubscriber_result_list}    service_specific_id    ${servicespecific_id}
+    ${subscriberDict}=    CORDRobot.getDictFromListofDict    ${getSubscriber_result_list}    service_specific_id    ${servicespecific_id}
     Log    ${subscriberDict}
-    ${subscriberId}=    utils.getFieldValueFromDict    ${subscriberDict}    id
+    ${subscriberId}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    id
     Log    ${subscriberId}
-    ${subscribed_links_ids_list}=    utils.getFieldValueFromDict    ${subscriberDict}    subscribed_links_ids
+    ${subscribed_links_ids_list}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    subscribed_links_ids
     ${subscribed_links_ids}=    Get From List    ${subscribed_links_ids_list}    0
     # Retrieve service links using service links ID
-    ${getServiceLink}=    restApi.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
+    ${getServiceLink}=    CORDRobot.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
     ${provider_service_instance_id}=    Get From Dictionary    ${getServiceLink}    provider_service_instance_id
     # Deletion of volt Tenants
-    ${volt_delete_result}=    restApi.ApiChameleonDelete    VOLT_TENANT    ${provider_service_instance_id}
+    ${volt_delete_result}=    CORDRobot.ApiChameleonDelete    VOLT_TENANT    ${provider_service_instance_id}
     Should Be True    ${volt_delete_result}
     #Deletion of Subscribers
-    ${subscriber_delete_result}=    restApi.ApiChameleonDelete    VOLT_SUBSCRIBER    ${subscriberId}
+    ${subscriber_delete_result}=    CORDRobot.ApiChameleonDelete    VOLT_SUBSCRIBER    ${subscriberId}
     Should Be True    ${subscriber_delete_result}
diff --git a/src/test/cord-api/Tests/Ch_UsersTest.txt b/src/test/cord-api/Tests/Ch_UsersTest.txt
index 6640a4b..83c6dd3 100644
--- a/src/test/cord-api/Tests/Ch_UsersTest.txt
+++ b/src/test/cord-api/Tests/Ch_UsersTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Ch_Users.json
@@ -34,7 +34,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${userList} =    utils.jsonToList    ${PATHFILE}    UserInfo
+    ${userList} =    CORDRobot.jsonToList    ${PATHFILE}    UserInfo
     Set Suite Variable    ${uList}    ${userList}
 
 Verify User functionality
@@ -46,33 +46,33 @@
 Test Post Users API
     [Arguments]    ${listIndex}
     ${userList} =    Get Variable Value    ${uList}
-    ${userDict}=    utils.listToDict    ${userList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CH_CORE_USERS    ${userDict}
+    ${userDict}=    CORDRobot.listToDict    ${userList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CH_CORE_USERS    ${userDict}
     Should Be True    ${api_result}
 
 Test Get Users API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CH_CORE_USERS
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_USERS
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     Log    ${json_result_list}
     ${userList}=    Get Variable Value    ${uList}
-    ${inputDict}=    utils.listToDict    ${userList}    ${listIndex}
-    ${email}=    utils.getFieldValueFromDict    ${inputDict}    email
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    email    ${email}
-    ${test_result}=    utils.compare_dict    ${inputDict}    ${getJsonDict}
+    ${inputDict}=    CORDRobot.listToDict    ${userList}    ${listIndex}
+    ${email}=    CORDRobot.getFieldValueFromDict    ${inputDict}    email
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    email    ${email}
+    ${test_result}=    CORDRobot.compare_dict    ${inputDict}    ${getJsonDict}
     Should Be True    ${json_result}
 
 Test Delete Users API
     [Arguments]    ${listIndex}
-    ${json_getresult}=    restApi.ApiGet    CH_CORE_USERS
+    ${json_getresult}=    CORDRobot.ApiGet    CH_CORE_USERS
     ${json_getresult_list}=    Get From Dictionary    ${json_getresult}    items
     ${userList}=    Get Variable Value    ${uList}
-    ${userDict}=    utils.listToDict    ${uList}    ${listIndex}
-    ${email}=    utils.getFieldValueFromDict    ${userDict}    email
+    ${userDict}=    CORDRobot.listToDict    ${uList}    ${listIndex}
+    ${email}=    CORDRobot.getFieldValueFromDict    ${userDict}    email
     Log    ${email}
-    ${getUserDict}=    utils.getDictFromListofDict    ${json_getresult_list}    email    ${email}
+    ${getUserDict}=    CORDRobot.getDictFromListofDict    ${json_getresult_list}    email    ${email}
     Log    ${getUserDict}
-    ${userID}=    utils.getFieldValueFromDict    ${getUserDict}    id
+    ${userID}=    CORDRobot.getFieldValueFromDict    ${getUserDict}    id
     Log    ${userID}
-    ${test_result}=    restApi.ApiChameleonDelete    CH_CORE_USERS    ${userID}
+    ${test_result}=    CORDRobot.ApiChameleonDelete    CH_CORE_USERS    ${userID}
     Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_VoltTenant-sanity.txt b/src/test/cord-api/Tests/Ch_VoltTenant-sanity.txt
index 9a86f8c..93f3152 100644
--- a/src/test/cord-api/Tests/Ch_VoltTenant-sanity.txt
+++ b/src/test/cord-api/Tests/Ch_VoltTenant-sanity.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Ch_VoltTenant.json
@@ -23,9 +23,9 @@
 
 *** Keywords ***
 Read InputFile
-    ${voltList} =    utils.jsonToList    ${PATHFILE}    voltSubscriberInfo
+    ${voltList} =    CORDRobot.jsonToList    ${PATHFILE}    voltSubscriberInfo
     Set Suite Variable    ${vlist}    ${voltList}
-    ${putvoltList}=    utils.jsonToList    ${PATHFILE2}    voltSubscriberInfo
+    ${putvoltList}=    CORDRobot.jsonToList    ${PATHFILE2}    voltSubscriberInfo
     Set Suite Variable    ${putList}    ${putvoltList}
 
 Verify volt Tenant Functionality
@@ -35,13 +35,13 @@
 Test Post volt Tenant API
     [Arguments]    ${listIndex}
     ${voltTenantList} =    Get Variable Value    ${vlist}
-    ${voltTenantDict}=    utils.listToDict    ${voltTenantList}    ${listIndex}
+    ${voltTenantDict}=    CORDRobot.listToDict    ${voltTenantList}    ${listIndex}
     ${voltDict}=    Get From Dictionary    ${voltTenantDict}    voltTenant
-    ${name}=    Get From Dictionary    ${voltDict}   name 
-    ${postResult}=    restApi.ApiPost    VOLT_TENANT    ${voltDict}
+    ${name}=    Get From Dictionary    ${voltDict}   name
+    ${postResult}=    CORDRobot.ApiPost    VOLT_TENANT    ${voltDict}
     # Verifying Get Operation after POST
-    ${getVolt_result}=    restApi.ApiGet    VOLT_TENANT
+    ${getVolt_result}=    CORDRobot.ApiGet    VOLT_TENANT
     ${getVolt_result_list}=    Get From Dictionary    ${getVolt_result}    items
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${getVolt_result_list}    name    ${name}
-    ${test_result}=    utils.compare_dict    ${voltDict}    ${getJsonDict}
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${getVolt_result_list}    name    ${name}
+    ${test_result}=    CORDRobot.compare_dict    ${voltDict}    ${getJsonDict}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Ch_VoltTenant.txt b/src/test/cord-api/Tests/Ch_VoltTenant.txt
index f4b7e02..f11a222 100644
--- a/src/test/cord-api/Tests/Ch_VoltTenant.txt
+++ b/src/test/cord-api/Tests/Ch_VoltTenant.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Ch_VoltTenant.json
@@ -24,11 +24,11 @@
 
 *** Keywords ***
 Read InputFile
-    ${subscriberList} =    utils.jsonToList    ${PATHFILE3}    SubscriberInfo
+    ${subscriberList} =    CORDRobot.jsonToList    ${PATHFILE3}    SubscriberInfo
     Set Suite Variable    ${slist}    ${subscriberList}
-    ${voltList} =    utils.jsonToList    ${PATHFILE}    voltSubscriberInfo
+    ${voltList} =    CORDRobot.jsonToList    ${PATHFILE}    voltSubscriberInfo
     Set Suite Variable    ${vlist}    ${voltList}
-    ${putvoltList}=    utils.jsonToList    ${PATHFILE2}    voltSubscriberInfo
+    ${putvoltList}=    CORDRobot.jsonToList    ${PATHFILE2}    voltSubscriberInfo
     Set Suite Variable    ${putList}    ${putvoltList}
 
 Verify volt Tenant Functionality
@@ -38,40 +38,40 @@
 Test Post volt Tenant API
     [Arguments]    ${listIndex}
     ${subscriberList} =    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${service_specific_id}=    utils.getFieldValueFromDict    ${subscriberDict}    service_specific_id
-    ${json_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${service_specific_id}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    service_specific_id
+    ${json_result}=    CORDRobot.ApiGet    VOLT_SUBSCRIBER
     Log    ${json_result}
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    service_specific_id    ${service_specific_id}
-    ${Subscriber_Id}=    utils.getFieldValueFromDict    ${getJsonDict}    id
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    service_specific_id    ${service_specific_id}
+    ${Subscriber_Id}=    CORDRobot.getFieldValueFromDict    ${getJsonDict}    id
     Log    ${Subscriber_Id}
     ${voltTenantList} =    Get Variable Value    ${vlist}
-    ${voltTenantDict}=    utils.listToDict    ${voltTenantList}    ${listIndex}
+    ${voltTenantDict}=    CORDRobot.listToDict    ${voltTenantList}    ${listIndex}
     ${voltDict}=    Get From Dictionary    ${voltTenantDict}    voltTenant
     ${c_tag}=    Get From Dictionary    ${voltDict}    c_tag
-    ${postResult}=    restApi.ApiPost    VOLT_TENANT    ${voltDict}
+    ${postResult}=    CORDRobot.ApiPost    VOLT_TENANT    ${voltDict}
     Sleep    30
     # Verifying GET operation after POST
-    ${get_result}=    restApi.ApiGet    VOLT_TENANT
+    ${get_result}=    CORDRobot.ApiGet    VOLT_TENANT
     ${get_result_list}=    Get From Dictionary    ${get_result}    items
-    ${getJsonDict}=    utils.getDictFromListofDict    ${get_result_list}    c_tag    ${c_tag}
+    ${getJsonDict}=    CORDRobot.getDictFromListofDict    ${get_result_list}    c_tag    ${c_tag}
     Log    ${getJsonDict}
-    ${test_result}=    utils.compare_dict    ${voltDict}    ${getJsonDict}
+    ${test_result}=    CORDRobot.compare_dict    ${voltDict}    ${getJsonDict}
     Should Be True    ${test_result}
     ${Volt_Id}=    Get From Dictionary    ${getJsonDict}    id
-    ${provided_links_ids_list}=    utils.getFieldValueFromDict    ${getJsonDict}    provided_links_ids
+    ${provided_links_ids_list}=    CORDRobot.getFieldValueFromDict    ${getJsonDict}    provided_links_ids
     Log    ${provided_links_ids_list}
     ${provided_links_ids}=    Get From List    ${provided_links_ids_list}    0
     Log    ${provided_links_ids}
     # Get subscribed_links_ids from volttenant
-    ${subscribed_links_ids_list}=    utils.getFieldValueFromDict    ${getJsonDict}    subscribed_links_ids
+    ${subscribed_links_ids_list}=    CORDRobot.getFieldValueFromDict    ${getJsonDict}    subscribed_links_ids
     ${subscribed_links_ids}=    Get From List    ${subscribed_links_ids_list}    0
     # Retrieve service links using provided links ID
-    ${getServiceLink}=    restApi.ApiChameleonGet    CH_CORE_SERVICELINK    ${provided_links_ids}
+    ${getServiceLink}=    CORDRobot.ApiChameleonGet    CH_CORE_SERVICELINK    ${provided_links_ids}
     ${provider_service_instance_id}=    Get From Dictionary    ${getServiceLink}    provider_service_instance_id
     # Update the subscriber_service_instance_id to the required subscriber_id to establish desired link
     ${serviceDict}=    Create Dictionary    subscriber_service_instance_id=${Subscriber_Id}
-    ${result}=    restApi.ApiChameleonPut    CH_CORE_SERVICELINK    ${serviceDict}    ${provided_links_ids}
+    ${result}=    CORDRobot.ApiChameleonPut    CH_CORE_SERVICELINK    ${serviceDict}    ${provided_links_ids}
     Sleep    30
     Should Be True    ${result}
diff --git a/src/test/cord-api/Tests/Ch_defaultImagesCheck.txt b/src/test/cord-api/Tests/Ch_defaultImagesCheck.txt
index 6a3f3ff..2f0b2b9 100644
--- a/src/test/cord-api/Tests/Ch_defaultImagesCheck.txt
+++ b/src/test/cord-api/Tests/Ch_defaultImagesCheck.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PROFILE}        mock-rcord
@@ -21,8 +21,8 @@
 
 *** Keywords ***
 Read InputFile
-    ${defaultImageList}=    utils.jsonToList    ${PATHFILE}    imagesInfo
-    ${status}    ${dynamicImageList}=    Run Keyword And Ignore Error    utils.get_dynamic_resources    ${PROFILE_FILE}    xos_images
+    ${defaultImageList}=    CORDRobot.jsonToList    ${PATHFILE}    imagesInfo
+    ${status}    ${dynamicImageList}=    Run Keyword And Ignore Error    CORDRobot.get_dynamic_resources    ${PROFILE_FILE}    xos_images
     ${imageList}=    Set Variable If    '${status}' == 'FAIL'    ${defaultImageList}    ${dynamicImageList}
     Set Suite Variable    ${imageList}
 
@@ -31,10 +31,10 @@
     Run Keyword If    "${type}" == "IMAGE"    Test Image Check
 
 Test Image Check
-    ${json_result}=    restApi.ApiGet    CH_CORE_IMAGES
+    ${json_result}=    CORDRobot.ApiGet    CH_CORE_IMAGES
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
     Log    ${json_result_list}
     ${image_list}=    Get Variable Value    ${imageList}
-    ${test_result}=    utils.compare_list_of_dicts    ${image_list}    ${json_result_list}
+    ${test_result}=    CORDRobot.compare_list_of_dicts    ${image_list}    ${json_result_list}
     Should Be True    ${test_result}
 
diff --git a/src/test/cord-api/Tests/CordVTN.txt b/src/test/cord-api/Tests/CordVTN.txt
index 08fb772..118032e 100644
--- a/src/test/cord-api/Tests/CordVTN.txt
+++ b/src/test/cord-api/Tests/CordVTN.txt
@@ -2,17 +2,13 @@
 Documentation     Test suite for VTN Functionality
 Suite Setup       Suite Setup
 Suite Teardown    Suite Teardown
-Variables         ../Framework/restApi.py
 Library           Collections
 Library           String
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
-Library           ../Framework/utils/openstackUtils.py
-Variables         ../Properties/RestApiProperties.py
-Resource           ../Framework/utils/utils.robot
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${VM_USER}                         admin
@@ -61,8 +57,8 @@
 Create New Test Service
     [Documentation]    Creates a generic service that will be used for the new VTN Network
     [Tags]    vtn    pod
-    ${updatedcservList}=    utils.setFieldValueInDict    ${cservlist[0]}    name    CordVTN-Test-Service
-    ${updatedcservList}=    utils.setFieldValueInDict    ${updatedcservList}    description    Test Service for CordVTN Test Suite
+    ${updatedcservList}=    CORDRobot.setFieldValueInDict    ${cservlist[0]}    name    CordVTN-Test-Service
+    ${updatedcservList}=    CORDRobot.setFieldValueInDict    ${updatedcservList}    description    Test Service for CordVTN Test Suite
     ${resp}=    Cord POST    ${SERVER_IP}    ${CH_CORE_SERVICES}    ${updatedcservList}
     Should Be Equal As Strings    ${resp.status_code}    200
     ${name}=    Get Json Value    ${resp.content}    /name
@@ -77,8 +73,8 @@
 Create New VTN Service Network
     [Documentation]    Makes a POST Request to XOS to create a new core network
     [Tags]    vtn    pod
-    ${updatedCnList}=    utils.setFieldValueInDict    ${cnlist[0]}    template_id    ${vsg_network_template_id}
-    ${updatedCnList}=    utils.setFieldValueInDict    ${updatedCnList}    owner_id    ${vsg_slice_id}
+    ${updatedCnList}=    CORDRobot.setFieldValueInDict    ${cnlist[0]}    template_id    ${vsg_network_template_id}
+    ${updatedCnList}=    CORDRobot.setFieldValueInDict    ${updatedCnList}    owner_id    ${vsg_slice_id}
     Log    ${updatedCnList}
     ${resp}=    Cord POST    ${SERVER_IP}    ${CH_CORE_NETWORKS}    ${cnlist[0]}
     Should Be Equal As Strings    ${resp.status_code}    200
@@ -96,8 +92,8 @@
 Create New Slice with New Test Service
     [Documentation]    Makes a POST Request to XOS to create a new slice and adds new generic test service to that slice
     [Tags]    vtn    pod
-    ${updatedCsList}=    utils.setFieldValueInDict    ${cslist[0]}    service_id    ${generic_service_id}
-    #${updatedCsList}=    utils.setFieldValueInDict    ${cslist[0]}    service_id    12
+    ${updatedCsList}=    CORDRobot.setFieldValueInDict    ${cslist[0]}    service_id    ${generic_service_id}
+    #${updatedCsList}=    CORDRobot.setFieldValueInDict    ${cslist[0]}    service_id    12
     Log    ${updatedCsList}
     ${resp}=    Cord POST    ${SERVER_IP}    ${CH_CORE_SLICES}    ${updatedCsList}
     Should Be Equal As Strings    ${resp.status_code}    200
@@ -115,10 +111,10 @@
 Add Networks to New Test Network Slice
     [Documentation]    Creates a new network slice for the new slice and adds mgmt and new network to it
     [Tags]    vsg    pod
-    ${updatedCsList}=    utils.setFieldValueInDict    ${cnslist[0]}    network_id    ${network_id}
-    #${updatedCsList}=    utils.setFieldValueInDict    ${cnslist[0]}    network_id    5
-    ${updatedCsList}=    utils.setFieldValueInDict    ${updatedCsList}    slice_id    ${new_slice_id}
-    #${updatedCsList}=    utils.setFieldValueInDict    ${updatedCsList}    slice_id    5
+    ${updatedCsList}=    CORDRobot.setFieldValueInDict    ${cnslist[0]}    network_id    ${network_id}
+    #${updatedCsList}=    CORDRobot.setFieldValueInDict    ${cnslist[0]}    network_id    5
+    ${updatedCsList}=    CORDRobot.setFieldValueInDict    ${updatedCsList}    slice_id    ${new_slice_id}
+    #${updatedCsList}=    CORDRobot.setFieldValueInDict    ${updatedCsList}    slice_id    5
     Log    ${updatedCsList}
     ${resp}=    Cord POST    ${SERVER_IP}    ${CH_CORE_NETWORK_SLICES}    ${updatedCsList}
     Should Be Equal As Strings    ${resp.status_code}    200
@@ -128,9 +124,9 @@
     Should Be Equal As Strings    ${s_id}    ${new_slice_id}
     Should Be Equal As Strings    ${n_id}    ${network_id}
     ##Add mgmt network to this network slice
-    ${updatedCsList}=    utils.setFieldValueInDict    ${cnslist[0]}    network_id    ${mgmt_network_id}
-    ${updatedCsList}=    utils.setFieldValueInDict    ${updatedCsList}    slice_id    ${new_slice_id}
-    #${updatedCsList}=    utils.setFieldValueInDict    ${updatedCsList}    slice_id    5
+    ${updatedCsList}=    CORDRobot.setFieldValueInDict    ${cnslist[0]}    network_id    ${mgmt_network_id}
+    ${updatedCsList}=    CORDRobot.setFieldValueInDict    ${updatedCsList}    slice_id    ${new_slice_id}
+    #${updatedCsList}=    CORDRobot.setFieldValueInDict    ${updatedCsList}    slice_id    5
     Log    ${updatedCsList}
     ${resp}=    Cord POST    ${SERVER_IP}    ${CH_CORE_NETWORK_SLICES}    ${updatedCsList}
     Should Be Equal As Strings    ${resp.status_code}    200
@@ -143,9 +139,9 @@
 Create New Test Instance
     [Documentation]    Creates a new instance for the test service
     [Tags]    vsg    pod
-    ${updatedCiList}=    utils.setFieldValueInDict    ${cilist[0]}    slice_id    ${new_slice_id}
-    #${updatedCiList}=    utils.setFieldValueInDict    ${cilist[0]}    slice_id    5
-    ${updatedCiList}=    utils.setFieldValueInDict    ${updatedCiList}    image_id    ${image_id}
+    ${updatedCiList}=    CORDRobot.setFieldValueInDict    ${cilist[0]}    slice_id    ${new_slice_id}
+    #${updatedCiList}=    CORDRobot.setFieldValueInDict    ${cilist[0]}    slice_id    5
+    ${updatedCiList}=    CORDRobot.setFieldValueInDict    ${updatedCiList}    image_id    ${image_id}
     Log    ${updatedCiList}
     ${resp}=    Cord POST    ${SERVER_IP}    ${CH_CORE_INSTANCES}    ${updatedCiList}
     #${resp}=    Cord POST    ${SERVER_IP}    ${CH_CORE_INSTANCES}    ${cilist[0]}
@@ -196,7 +192,7 @@
     ${blacklist_sr_ids}=    Get Subscriber Root IDs in Use
     ${ss_id}=    Generate Random Number from Blacklist    ${blacklist_sr_ids}
     Set Suite Variable    ${ss_id}
-    ${updatedcsList}=    utils.setFieldValueInDict    ${csubList[0]}    service_specific_id    ${ss_id}
+    ${updatedcsList}=    CORDRobot.setFieldValueInDict    ${csubList[0]}    service_specific_id    ${ss_id}
     Log    ${updatedcsList}
     ${resp}=    Cord POST    ${SERVER_IP}    ${VOLT_SUBSCRIBER}    ${updatedcsList}
     Should Be Equal As Strings    ${resp.status_code}    200
@@ -226,10 +222,10 @@
     ${c_tag}=    Generate Random Number from Blacklist    ${blacklist_tags}    1    4096    True
     Append To List    ${blacklist_tags}    ${c_tag}
     Log    ${blacklist_tags}
-    ${updatedvtList}=    utils.setFieldValueInDict    ${vtList[0]}    service_specific_id    ${subscriber_root_id}
-    #${updatedvtList}=    utils.setFieldValueInDict    ${vtList[0]}    subscriber_root_id    ${subscriber_root_id}
-    ${updatedvtList}=    utils.setFieldValueInDict    ${updatedvtList}    s_tag    ${s_tag}
-    ${updatedvtList}=    utils.setFieldValueInDict    ${updatedvtList}    c_tag    ${c_tag}
+    ${updatedvtList}=    CORDRobot.setFieldValueInDict    ${vtList[0]}    service_specific_id    ${subscriber_root_id}
+    #${updatedvtList}=    CORDRobot.setFieldValueInDict    ${vtList[0]}    subscriber_root_id    ${subscriber_root_id}
+    ${updatedvtList}=    CORDRobot.setFieldValueInDict    ${updatedvtList}    s_tag    ${s_tag}
+    ${updatedvtList}=    CORDRobot.setFieldValueInDict    ${updatedvtList}    c_tag    ${c_tag}
     Log    ${updatedvtList}
     ${resp}=    Cord POST    ${SERVER_IP}    ${VOLT_TENANT}    ${vtList[0]}
     Should Be Equal As Strings    ${resp.status_code}    200
@@ -338,19 +334,19 @@
     Close All Connections
 
 Read InputFile
-    ${coreServiceList} =    utils.jsonToList    ${CORE_SERVICE_PATHFILE}    ServiceInfo
+    ${coreServiceList} =    CORDRobot.jsonToList    ${CORE_SERVICE_PATHFILE}    ServiceInfo
     Set Suite Variable    ${cservlist}    ${coreServiceList}
-    ${coreNetworkList} =    utils.jsonToList    ${CORE_NETWORK_PATHFILE}    NetworkInfo
+    ${coreNetworkList} =    CORDRobot.jsonToList    ${CORE_NETWORK_PATHFILE}    NetworkInfo
     Set Suite Variable    ${cnlist}    ${coreNetworkList}
-    ${coreSliceList} =    utils.jsonToList    ${CORE_SLICE_PATHFILE}    SliceInfo
+    ${coreSliceList} =    CORDRobot.jsonToList    ${CORE_SLICE_PATHFILE}    SliceInfo
     Set Suite Variable    ${cslist}    ${coreSliceList}
-    ${coreNetworkSliceList} =    utils.jsonToList    ${CORE_NETWORK_SLICE_PATHFILE}    NetworkSliceInfo
+    ${coreNetworkSliceList} =    CORDRobot.jsonToList    ${CORE_NETWORK_SLICE_PATHFILE}    NetworkSliceInfo
     Set Suite Variable    ${cnslist}    ${coreNetworkSliceList}
-    ${coreInstanceList} =    utils.jsonToList    ${CORE_INSTANCE_PATHFILE}    InstanceInfo
+    ${coreInstanceList} =    CORDRobot.jsonToList    ${CORE_INSTANCE_PATHFILE}    InstanceInfo
     Set Suite Variable    ${cilist}    ${coreInstanceList}
-    ${cordSubscriberList} =    utils.jsonToList    ${CORD_SUBSCRIBER_PATHFILE}    CordSubscriberInfo
+    ${cordSubscriberList} =    CORDRobot.jsonToList    ${CORD_SUBSCRIBER_PATHFILE}    CordSubscriberInfo
     Set Suite Variable    ${csubList}    ${cordSubscriberList}
-    ${voltTenantList} =    utils.jsonToList    ${VOLT_TENANT_PATHFILE}    VoltTenantInfo
+    ${voltTenantList} =    CORDRobot.jsonToList    ${VOLT_TENANT_PATHFILE}    VoltTenantInfo
     Set Suite Variable    ${vtList}    ${voltTenantList}
 
 CORD Get
diff --git a/src/test/cord-api/Tests/DefaultServiceCheck.txt b/src/test/cord-api/Tests/DefaultServiceCheck.txt
index 59341d2..49c0042 100644
--- a/src/test/cord-api/Tests/DefaultServiceCheck.txt
+++ b/src/test/cord-api/Tests/DefaultServiceCheck.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -20,7 +20,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${serviceList}=    utils.jsonToList    ${PATHFILE}    ServiceInfo
+    ${serviceList}=    CORDRobot.jsonToList    ${PATHFILE}    ServiceInfo
     Set Suite Variable    ${slist}    ${serviceList}
 
 Verify Service Sanity
@@ -28,8 +28,8 @@
     Run Keyword If    "${type}" == "SANITY"    Test Service Sanity
 
 Test Service Sanity
-    ${json_result}=    restApi.ApiGet   CORE_SERVICES
+    ${json_result}=    CORDRobot.ApiGet   CORE_SERVICES
     Log    ${json_result}
     ${serviceList}=    Get Variable Value    ${slist}
-    ${test_result}=    utils.compare_list_of_dicts    ${serviceList}    ${json_result}
+    ${test_result}=    CORDRobot.compare_list_of_dicts    ${serviceList}    ${json_result}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/DemoSimpleExampleService.robot b/src/test/cord-api/Tests/DemoSimpleExampleService.robot
index 07003f9..f84711c 100644
--- a/src/test/cord-api/Tests/DemoSimpleExampleService.robot
+++ b/src/test/cord-api/Tests/DemoSimpleExampleService.robot
@@ -1,7 +1,6 @@
 *** Settings ***
 Library           KafkaLibrary
 Library           RequestsLibrary
-Library           HttpLibrary.HTTP
 Library           Collections
 Library           String
 Library           OperatingSystem
@@ -61,7 +60,7 @@
 
 Get Kubernetes SI Pod IP
     ${resp}=    CORD Get    /xosapi/v1/kubernetes/kubernetesserviceinstances/${k8_si_id}
-    ${k8_pod_ip}=    Get Json Value    ${resp.content}    /pod_ip
+    ${k8_pod_ip}=    Get From Dictionary    ${resp.json()}    pod_ip
     Set Suite Variable    ${k8_pod_ip}
 
 Validate SI Message
@@ -100,7 +99,7 @@
     ${resp}=    Post Request    ${server_ip}    uri=${service}    data=${data}
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
-    ${id}=    Get Json Value    ${resp.content}    /id
+    ${id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${id}
     [Return]    ${resp}
 
diff --git a/src/test/cord-api/Tests/DeploymentTest.txt b/src/test/cord-api/Tests/DeploymentTest.txt
index b0141b0..76fd066 100644
--- a/src/test/cord-api/Tests/DeploymentTest.txt
+++ b/src/test/cord-api/Tests/DeploymentTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -35,9 +35,9 @@
 
 *** Keywords ***
 Read InputFile
-    ${deploymentList}=    utils.jsonToList    ${PATHFILE}    DeploymentInfo
+    ${deploymentList}=    CORDRobot.jsonToList    ${PATHFILE}    DeploymentInfo
     Set Suite Variable    ${dlist}    ${deploymentList}
-    ${putDeploymentList}=    utils.jsonToList    ${PATHFILE2}    DeploymentInfo
+    ${putDeploymentList}=    CORDRobot.jsonToList    ${PATHFILE2}    DeploymentInfo
     Set Suite Variable    ${putList}    ${putDeploymentList}
 
 Verify Deployment functionality
@@ -50,45 +50,45 @@
 Test Post Deployment API
     [Arguments]    ${listIndex}
     ${deploymentList} =    Get Variable Value    ${dlist}
-    ${deploymentDict}=    utils.listToDict    ${deploymentList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CORE_DEPLOYMENTS    ${deploymentDict}
+    ${deploymentDict}=    CORDRobot.listToDict    ${deploymentList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CORE_DEPLOYMENTS    ${deploymentDict}
     Should Be True    ${api_result}
 
 Test Get Deployment API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet   CORE_DEPLOYMENTS
+    ${json_result}=    CORDRobot.ApiGet   CORE_DEPLOYMENTS
     Log    ${json_result}
     ${deploymentList}=    Get Variable Value    ${dlist}
-    ${deploymentDict}=    utils.listToDict    ${deploymentList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${deploymentDict}   name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    name    ${name}
-    ${test_result}=    utils.compare_dict    ${deploymentDict}    ${getJsonDict}
+    ${deploymentDict}=    CORDRobot.listToDict    ${deploymentList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${deploymentDict}   name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    name    ${name}
+    ${test_result}=    CORDRobot.compare_dict    ${deploymentDict}    ${getJsonDict}
     Should Be True    ${test_result}
 
 Test Edit Deployment API
     [Arguments]    ${listIndex}
-    ${get_result}=    restApi.ApiGet    CORE_DEPLOYMENTS
+    ${get_result}=    CORDRobot.ApiGet    CORE_DEPLOYMENTS
     ${putDeploymentList}=    Get Variable Value    ${putList}
-    ${putDeploymentDict}=    utils.listToDict    ${putDeploymentList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${putDeploymentDict}    name
-    ${deploymentDict}=    utils.getDictFromListofDict    ${get_result}    name    ${name}
-    ${deploymentID}=    utils.getFieldValueFromDict    ${deploymentDict}    id
-    ${api_result}=    restApi.ApiPut    CORE_DEPLOYMENTS    ${putDeploymentDict}    ${deploymentID}
+    ${putDeploymentDict}=    CORDRobot.listToDict    ${putDeploymentList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${putDeploymentDict}    name
+    ${deploymentDict}=    CORDRobot.getDictFromListofDict    ${get_result}    name    ${name}
+    ${deploymentID}=    CORDRobot.getFieldValueFromDict    ${deploymentDict}    id
+    ${api_result}=    CORDRobot.ApiPut    CORE_DEPLOYMENTS    ${putDeploymentDict}    ${deploymentID}
     Should Be True    ${api_result}
-    ${getResultAfterPut}=    restApi.ApiGet    CORE_DEPLOYMENTS    ${deploymentID}
-    ${test_result}=    utils.compare_dict    ${putDeploymentDict}    ${getResultAfterPut}
+    ${getResultAfterPut}=    CORDRobot.ApiGet    CORE_DEPLOYMENTS    ${deploymentID}
+    ${test_result}=    CORDRobot.compare_dict    ${putDeploymentDict}    ${getResultAfterPut}
     Should Be True    ${test_result}
 
 Test Delete Deployment API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CORE_DEPLOYMENTS
+    ${json_result}=    CORDRobot.ApiGet    CORE_DEPLOYMENTS
     ${deploymentList}=    Get Variable Value    ${dlist}
-    ${deploymentDict}=    utils.listToDict    ${deploymentList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${deploymentDict}    name
+    ${deploymentDict}=    CORDRobot.listToDict    ${deploymentList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${deploymentDict}    name
     Log    ${name}
-    ${deploymentDict}=    utils.getDictFromListofDict    ${json_result}    name  ${name}
+    ${deploymentDict}=    CORDRobot.getDictFromListofDict    ${json_result}    name  ${name}
     Log    ${deploymentDict}
-    ${deploymentId}=    utils.getFieldValueFromDict    ${deploymentDict}    id
+    ${deploymentId}=    CORDRobot.getFieldValueFromDict    ${deploymentDict}    id
     Log    ${deploymentId}
-    ${test_result}=    restApi.ApiDelete    CORE_DEPLOYMENTS    ${deploymentId}
+    ${test_result}=    CORDRobot.ApiDelete    CORE_DEPLOYMENTS    ${deploymentId}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/FabricConfig.txt b/src/test/cord-api/Tests/FabricConfig.txt
index 410b169..b7b066c 100644
--- a/src/test/cord-api/Tests/FabricConfig.txt
+++ b/src/test/cord-api/Tests/FabricConfig.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/FabricSwitch.json
@@ -39,13 +39,13 @@
 
 *** Keywords ***
 Read InputFile
-    ${FabricList}=    utils.jsonToList    ${PATHFILE}   FabricSwitchInfo
+    ${FabricList}=    CORDRobot.jsonToList    ${PATHFILE}   FabricSwitchInfo
     Set Suite Variable    ${dlist}    ${FabricList}
     Set Global Variable    ${Fabric_Id}    ${EMPTY}
-    ${FabricPortList}=    utils.jsonToList    ${PATHFILE1}   FabricSwitchPort
+    ${FabricPortList}=    CORDRobot.jsonToList    ${PATHFILE1}   FabricSwitchPort
     Set Suite Variable    ${plist}    ${FabricPortList}
     Set Global Variable    ${SwitchPort_Id}    ${EMPTY}
-    ${FabricInterfaceList}=    utils.jsonToList    ${PATHFILE2}   FabricPortInterface
+    ${FabricInterfaceList}=    CORDRobot.jsonToList    ${PATHFILE2}   FabricPortInterface
     Set Suite Variable    ${ilist}    ${FabricInterfaceList}
     Set Global Variable    ${FabricInterface_Id}    ${EMPTY}
 
@@ -61,8 +61,8 @@
 Test Create Fabric Switch
     [Arguments]    ${listIndex}
     ${FabricList} =    Get Variable Value    ${dlist}
-    ${FabricDict}=    utils.listToDict    ${FabricList}    ${listIndex}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    FABRIC_SWITCH    ${FabricDict}
+    ${FabricDict}=    CORDRobot.listToDict    ${FabricList}    ${listIndex}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    FABRIC_SWITCH    ${FabricDict}
     Should Be True    ${api_result_status}
     ${Fabric_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${Fabric_Id}
@@ -70,20 +70,20 @@
 Test Get Fabric Switch
     [Arguments]    ${listIndex}
     Log    ${Fabric_Id}
-    ${json_result}=    restApi.ApiChameleonGet    FABRIC_SWITCH    ${Fabric_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    FABRIC_SWITCH    ${Fabric_Id}
     Log    ${json_result}
     ${FabricList} =    Get Variable Value    ${dlist}
-    ${FabricDict}=    utils.listToDict    ${FabricList}    ${listIndex}
+    ${FabricDict}=    CORDRobot.listToDict    ${FabricList}    ${listIndex}
     Log    ${FabricDict}
-    ${test_result}=    utils.compare_dict    ${FabricDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${FabricDict}    ${json_result}
     Should Be True    ${test_result}
 
 Test Create Switch Port API
     [Arguments]    ${listIndex}
     ${SwitchPortList} =    Get Variable Value    ${plist}
-    ${SwitchPortDict}=    utils.listToDict    ${SwitchPortList}    ${listIndex}
-    ${SwitchPortDict}=    utils.setFieldValueInDict    ${SwitchPortDict}    switch_id    ${Fabric_Id}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    SWITCH_PORT    ${SwitchPortDict}
+    ${SwitchPortDict}=    CORDRobot.listToDict    ${SwitchPortList}    ${listIndex}
+    ${SwitchPortDict}=    CORDRobot.setFieldValueInDict    ${SwitchPortDict}    switch_id    ${Fabric_Id}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    SWITCH_PORT    ${SwitchPortDict}
     Should Be True    ${api_result_status}
     ${SwitchPort_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${SwitchPort_Id}
@@ -91,20 +91,20 @@
 Test Get Switch Port API
     [Arguments]    ${listIndex}
     Log    ${SwitchPort_Id}
-    ${json_result}=    restApi.ApiChameleonGet    SWITCH_PORT    ${SwitchPort_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    SWITCH_PORT    ${SwitchPort_Id}
     Log    ${json_result}
     ${SwitchPortList} =    Get Variable Value    ${plist}
-    ${SwitchPortDict}=    utils.listToDict    ${SwitchPortList}    ${listIndex}
+    ${SwitchPortDict}=    CORDRobot.listToDict    ${SwitchPortList}    ${listIndex}
     Log    ${SwitchPortDict}
-    ${test_result}=    utils.compare_dict    ${SwitchPortDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${SwitchPortDict}    ${json_result}
     Should Be True    ${test_result}
 
 Test Create Fabric Interface
     [Arguments]    ${listIndex}
     ${FabricInterfaceList}=    Get Variable Value    ${ilist}
-    ${FabricInterfaceDict}=    utils.listToDict    ${FabricInterfaceList}    ${listIndex}
-    ${FabricInterfaceDict}=    utils.setFieldValueInDict    ${FabricInterfaceDict}    port_id    ${SwitchPort_Id}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    PORT_INTERFACE    ${FabricInterfaceDict}
+    ${FabricInterfaceDict}=    CORDRobot.listToDict    ${FabricInterfaceList}    ${listIndex}
+    ${FabricInterfaceDict}=    CORDRobot.setFieldValueInDict    ${FabricInterfaceDict}    port_id    ${SwitchPort_Id}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    PORT_INTERFACE    ${FabricInterfaceDict}
     Should Be True    ${api_result_status}
     ${FabricInterface_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${FabricInterface_Id}
@@ -112,10 +112,10 @@
 Test Get Fabric Interface
     [Arguments]    ${listIndex}
     Log    ${FabricInterface_Id}
-    ${json_result}=    restApi.ApiChameleonGet    PORT_INTERFACE    ${FabricInterface_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    PORT_INTERFACE    ${FabricInterface_Id}
     Log    ${json_result}
     ${FabricInterfaceList} =    Get Variable Value    ${ilist}
-    ${FabricInterfaceDict}=    utils.listToDict    ${FabricInterfaceList}    ${listIndex}
+    ${FabricInterfaceDict}=    CORDRobot.listToDict    ${FabricInterfaceList}    ${listIndex}
     Log    ${FabricInterfaceDict}
-    ${test_result}=    utils.compare_dict    ${FabricInterfaceDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${FabricInterfaceDict}    ${json_result}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/HippieOSS.txt b/src/test/cord-api/Tests/HippieOSS.txt
index 9de05be..f5930ad 100644
--- a/src/test/cord-api/Tests/HippieOSS.txt
+++ b/src/test/cord-api/Tests/HippieOSS.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/hippieOSS.json
@@ -21,7 +21,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${hippieList}=    utils.jsonToList    ${PATHFILE}   hippieOSSInfo 
+    ${hippieList}=    CORDRobot.jsonToList    ${PATHFILE}   hippieOSSInfo
     Set Suite Variable    ${slist}    ${hippieList}
     Set Global Variable    ${hippieOSS_Id}    ${EMPTY}
 
@@ -33,8 +33,8 @@
 Post Hippie OSS
     [Arguments]    ${listIndex}
     ${hippieList} =    Get Variable Value    ${slist}
-    ${hippieOSSDict}=    utils.listToDict    ${hippieList}    ${listIndex}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    OSS_SERVICE    ${hippieOSSDict}
+    ${hippieOSSDict}=    CORDRobot.listToDict    ${hippieList}    ${listIndex}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    OSS_SERVICE    ${hippieOSSDict}
     Should Be True    ${api_result_status}
     ${hippieOSS_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${hippieOSS_Id}
@@ -42,10 +42,10 @@
 Get Hippie OSS
     [Arguments]    ${listIndex}
     Log    ${hippieOSS_Id}
-    ${json_result}=    restApi.ApiChameleonGet    OSS_SERVICE    ${hippieOSS_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    OSS_SERVICE    ${hippieOSS_Id}
     Log    ${json_result}
     ${hippieList} =    Get Variable Value    ${slist}
-    ${hippieOSSDict}=    utils.listToDict    ${hippieList}    ${listIndex}
+    ${hippieOSSDict}=    CORDRobot.listToDict    ${hippieList}    ${listIndex}
     Log    ${hippieOSSDict}
-    ${test_result}=    utils.compare_dict    ${hippieOSSDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${hippieOSSDict}    ${json_result}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/InstanceTest.txt b/src/test/cord-api/Tests/InstanceTest.txt
index 450ef43..0f13c6e 100644
--- a/src/test/cord-api/Tests/InstanceTest.txt
+++ b/src/test/cord-api/Tests/InstanceTest.txt
@@ -7,8 +7,9 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
+
 | Variables |     ../Properties/RestApiProperties.py
 
 *** Variables ***
@@ -39,7 +40,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${instanceList} =    utils.jsonToList    ${PATHFILE}    InstanceInfo
+    ${instanceList} =    CORDRobot.jsonToList    ${PATHFILE}    InstanceInfo
     Set Suite Variable    ${iList}    ${instanceList}
     ${image}=    Catenate    SEPARATOR=    http://    ${IP}    :    ${PORT}    /api/core/images/1/
     Set Suite Variable    ${image}    ${image}
@@ -61,51 +62,51 @@
 Test Post Instances
     [Arguments]    ${listIndex}
     ${instanceList} =    Get Variable Value    ${iList}
-    ${instanceDict}=    utils.listToDict    ${instanceList}    ${listIndex}
+    ${instanceDict}=    CORDRobot.listToDict    ${instanceList}    ${listIndex}
     ${image}=    Get Variable Value    ${image}
-    ${instanceDict}=    utils.setFieldValueInDict    ${instanceDict}    image    ${image}
+    ${instanceDict}=    CORDRobot.setFieldValueInDict    ${instanceDict}    image    ${image}
     ${slice}=    Get Variable Value    ${slice}
-    ${instanceDict}=    utils.setFieldValueInDict    ${instanceDict}    slice    ${slice}
+    ${instanceDict}=    CORDRobot.setFieldValueInDict    ${instanceDict}    slice    ${slice}
     ${deployment}=    Get Variable Value    ${deployment}
-    ${instanceDict}=    utils.setFieldValueInDict    ${instanceDict}    deployment    ${deployment}
+    ${instanceDict}=    CORDRobot.setFieldValueInDict    ${instanceDict}    deployment    ${deployment}
     ${node}=    Get Variable Value    ${node}
-    ${instanceDict}=    utils.setFieldValueInDict    ${instanceDict}    node    ${node}
+    ${instanceDict}=    CORDRobot.setFieldValueInDict    ${instanceDict}    node    ${node}
     ${creator}=    Get Variable Value    ${creator}
-    ${instanceDict}=    utils.setFieldValueInDict    ${instanceDict}    creator    ${creator}
-    ${api_result}=    restApi.ApiPost    CORE_INSTANCES    ${instanceDict}
+    ${instanceDict}=    CORDRobot.setFieldValueInDict    ${instanceDict}    creator    ${creator}
+    ${api_result}=    CORDRobot.ApiPost    CORE_INSTANCES    ${instanceDict}
     Should Be True    ${api_result}
 
 Test Get Instances
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CORE_INSTANCES
+    ${json_result}=    CORDRobot.ApiGet    CORE_INSTANCES
     Log    ${json_result}
     ${instanceList}=    Get Variable Value    ${iList}
-    ${instanceDict}=    utils.listToDict    ${instanceList}    ${listIndex}
+    ${instanceDict}=    CORDRobot.listToDict    ${instanceList}    ${listIndex}
     ${image}=    Get Variable Value    ${image}
-    ${instanceDict}=    utils.setFieldValueInDict    ${instanceDict}    image    ${image}
+    ${instanceDict}=    CORDRobot.setFieldValueInDict    ${instanceDict}    image    ${image}
     ${slice}=    Get Variable Value    ${slice}
-    ${instanceDict}=    utils.setFieldValueInDict    ${instanceDict}    slice    ${slice}
+    ${instanceDict}=    CORDRobot.setFieldValueInDict    ${instanceDict}    slice    ${slice}
     ${deployment}=    Get Variable Value    ${deployment}
-    ${instanceDict}=    utils.setFieldValueInDict    ${instanceDict}    deployment    ${deployment}
+    ${instanceDict}=    CORDRobot.setFieldValueInDict    ${instanceDict}    deployment    ${deployment}
     ${node}=    Get Variable Value    ${node}
-    ${instanceDict}=    utils.setFieldValueInDict    ${instanceDict}    node    ${node}
+    ${instanceDict}=    CORDRobot.setFieldValueInDict    ${instanceDict}    node    ${node}
     ${creator}=    Get Variable Value    ${creator}
-    ${instanceDict}=    utils.setFieldValueInDict    ${instanceDict}    creator    ${creator}
-    ${instanceName}=    utils.getFieldValueFromDict    ${instanceDict}    name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    name    ${instanceName}
-    ${test_result}=    utils.compare_dict    ${instanceDict}    ${getJsonDict}
+    ${instanceDict}=    CORDRobot.setFieldValueInDict    ${instanceDict}    creator    ${creator}
+    ${instanceName}=    CORDRobot.getFieldValueFromDict    ${instanceDict}    name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    name    ${instanceName}
+    ${test_result}=    CORDRobot.compare_dict    ${instanceDict}    ${getJsonDict}
     Should Be True    ${json_result}
 
 Test Delete Instances
     [Arguments]    ${listIndex}
-    ${json_getresult}=    restApi.ApiGet    CORE_INSTANCES
+    ${json_getresult}=    CORDRobot.ApiGet    CORE_INSTANCES
     ${instanceList}=    Get Variable Value    ${iList}
-    ${instanceDict}=    utils.listToDict    ${iList}    ${listIndex}
-    ${instanceName}=    utils.getFieldValueFromDict    ${instanceDict}    name
+    ${instanceDict}=    CORDRobot.listToDict    ${iList}    ${listIndex}
+    ${instanceName}=    CORDRobot.getFieldValueFromDict    ${instanceDict}    name
     Log    ${instanceName}
-    ${getInstanceDict}=    utils.getDictFromListofDict    ${json_getresult}    name    ${instanceName}
+    ${getInstanceDict}=    CORDRobot.getDictFromListofDict    ${json_getresult}    name    ${instanceName}
     Log    ${getInstanceDict}
-    ${instanceID}=    utils.getFieldValueFromDict    ${getInstanceDict}    id
+    ${instanceID}=    CORDRobot.getFieldValueFromDict    ${getInstanceDict}    id
     Log    ${instanceID}
-    ${test_result}=    restApi.ApiDelete    CORE_INSTANCES    ${instanceID}
+    ${test_result}=    CORDRobot.ApiDelete    CORE_INSTANCES    ${instanceID}
     Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/LegacyRCORD_E2EServiceChainTest.txt b/src/test/cord-api/Tests/LegacyRCORD_E2EServiceChainTest.txt
index 22c7bdb..bb7a39e 100644
--- a/src/test/cord-api/Tests/LegacyRCORD_E2EServiceChainTest.txt
+++ b/src/test/cord-api/Tests/LegacyRCORD_E2EServiceChainTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Ch_Subscriber.json
@@ -25,7 +25,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${subscriberList} =    utils.jsonToList    ${PATHFILE}    SubscriberInfo
+    ${subscriberList} =    CORDRobot.jsonToList    ${PATHFILE}    SubscriberInfo
     Set Suite Variable    ${slist}    ${subscriberList}
     @{instanceList}=    Create List
     Set Suite Variable    @{instanceList}
@@ -37,38 +37,38 @@
 Test Post Subscriber Create
     [Arguments]    ${listIndex}
     ${subscriberList} =    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    VOLT_SUBSCRIBER    ${subscriberDict}
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    VOLT_SUBSCRIBER    ${subscriberDict}
     Sleep    90
-    ${service_specific_id}=    utils.getFieldValueFromDict    ${subscriberDict}    service_specific_id
-    ${json_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${service_specific_id}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    service_specific_id
+    ${json_result}=    CORDRobot.ApiGet    VOLT_SUBSCRIBER
     Log    ${json_result}
     ${json_result_list}=    Get From Dictionary    ${json_result}    items
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    service_specific_id    ${service_specific_id}
-    ${result}=    utils.compare_dict    ${subscriberDict}    ${getJsonDict}
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    service_specific_id    ${service_specific_id}
+    ${result}=    CORDRobot.compare_dict    ${subscriberDict}    ${getJsonDict}
     Should Be True    ${result}
     ${instanceList}    Create List
     # Retrieve Subscribed_links_id from Posted Subscriber
-    ${subscribed_links_ids_list}=    utils.getFieldValueFromDict    ${getJsonDict}    subscribed_links_ids
+    ${subscribed_links_ids_list}=    CORDRobot.getFieldValueFromDict    ${getJsonDict}    subscribed_links_ids
     ${subscribed_links_ids}=    Get From List    ${subscribed_links_ids_list}    0
     # Retrieve Provided_Service_Instance_Id from "ServiceInstanceLinks"
-    ${getServiceLink}=    restApi.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
+    ${getServiceLink}=    CORDRobot.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
     ${provider_service_instance_id}=    Get From Dictionary    ${getServiceLink}    provider_service_instance_id
     # RETRIEVE VOLT OBJECT USING PROVIDER INSTANCE ID   
-    ${getVoltDict}=    restApi.ApiChameleonGet    VOLT_TENANT    ${provider_service_instance_id}
+    ${getVoltDict}=    CORDRobot.ApiChameleonGet    VOLT_TENANT    ${provider_service_instance_id}
     # RETRIEVE SUBSCRIBED_LINKS_IDS FROM THE VOLT DICTIONARY
-    ${subscribed_links_ids_list}=    utils.getFieldValueFromDict    ${getVoltDict}    subscribed_links_ids
+    ${subscribed_links_ids_list}=    CORDRobot.getFieldValueFromDict    ${getVoltDict}    subscribed_links_ids
     ${subscribed_links_ids}=    Get From List    ${subscribed_links_ids_list}    0
     # RETRIEVE PROVIDED_SERVICE_INSTANCE_ID 
-    ${serviceLinkDict}=    restApi.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
+    ${serviceLinkDict}=    CORDRobot.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
     Log    ${serviceLinkDict}
     ${VSGTenant}=    Get From Dictionary    ${serviceLinkDict}    provider_service_instance_id
     # Retrieve VSGTenant to retrieve instance_id
-    ${getVSG_result}=    restApi.ApiChameleonGet    VSG_TENANT    ${VSGTenant}
+    ${getVSG_result}=    CORDRobot.ApiChameleonGet    VSG_TENANT    ${VSGTenant}
     ${instance_id}=    Get From Dictionary    ${getVSG_result}    instance_id
     Append To List    ${instanceList}    ${instance_id}
     Log    ${instanceList}
     Set Global Variable    ${instanceList}
     # VALIDATE INSTANCE IS PRESENT IN /CORE/INSTANCES
-    ${get_CoreInstanceresult}=    restApi.ApiChameleonGet    CH_CORE_INSTANCES    ${instance_id}
+    ${get_CoreInstanceresult}=    CORDRobot.ApiChameleonGet    CH_CORE_INSTANCES    ${instance_id}
     Should Be True    ${get_CoreInstanceresult}
diff --git a/src/test/cord-api/Tests/MultiInstanceTest.txt b/src/test/cord-api/Tests/MultiInstanceTest.txt
index a4ef516..a166e10 100644
--- a/src/test/cord-api/Tests/MultiInstanceTest.txt
+++ b/src/test/cord-api/Tests/MultiInstanceTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -46,9 +46,9 @@
 
 *** Keywords ***
 Read InputFile
-    ${subscriberList} =    utils.jsonToList    ${PATHFILE}    SubscriberInfo
+    ${subscriberList} =    CORDRobot.jsonToList    ${PATHFILE}    SubscriberInfo
     Set Suite Variable    ${slist}    ${subscriberList}
-    ${voltList}=    utils.jsonToList    ${PATHFILE2}    voltSubscriberInfo
+    ${voltList}=    CORDRobot.jsonToList    ${PATHFILE2}    voltSubscriberInfo
     Set Suite Variable    ${vlist}    ${voltList}
 
 Verify Instance functionality
@@ -60,41 +60,41 @@
 Test Post Subscriber Create
     [Arguments]    ${listIndex}
     ${subscriberList} =    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    TENANT_SUBSCRIBER    ${subscriberDict}
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    TENANT_SUBSCRIBER    ${subscriberDict}
     Should Be True    ${api_result}
 
 Test Post volt Tenant Create
     [Arguments]    ${listIndex}
     ${voltTenantList} =    Get Variable Value    ${vlist}
-    ${voltTenantDict}=    utils.listToDict    ${voltTenantList}    ${listIndex}
+    ${voltTenantDict}=    CORDRobot.listToDict    ${voltTenantList}    ${listIndex}
     ${voltDict}=    Get From Dictionary    ${voltTenantDict}    voltTenant
     ${account_num}=    Get From Dictionary    ${voltTenantDict}    account_num
-    ${get_result}=    restApi.ApiGet    TENANT_SUBSCRIBER
-    ${subscriberDict}=    utils.getDictFromListofDict    ${get_result}    account_num    ${account_num}
-    ${subscriberID}=    utils.getFieldValueFromDict    ${subscriberDict}    id
-    ${updatedVoltDict}=    utils.setFieldValueInDict    ${voltDict}    subscriber    ${subscriberID}
-    ${api_result}=    restApi.ApiPost    TENANT_VOLT    ${updatedVoltDict}
+    ${get_result}=    CORDRobot.ApiGet    TENANT_SUBSCRIBER
+    ${subscriberDict}=    CORDRobot.getDictFromListofDict    ${get_result}    account_num    ${account_num}
+    ${subscriberID}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    id
+    ${updatedVoltDict}=    CORDRobot.setFieldValueInDict    ${voltDict}    subscriber    ${subscriberID}
+    ${api_result}=    CORDRobot.ApiPost    TENANT_VOLT    ${updatedVoltDict}
     Should Be True    ${api_result}
     # Verifying Get operation after POST
-    ${getVolt_result}=    restApi.ApiGet    TENANT_VOLT
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${getVolt_result}    subscriber    ${subscriberID}
-    ${test_result}=    utils.compare_dict    ${voltDict}    ${getJsonDict}
+    ${getVolt_result}=    CORDRobot.ApiGet    TENANT_VOLT
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${getVolt_result}    subscriber    ${subscriberID}
+    ${test_result}=    CORDRobot.compare_dict    ${voltDict}    ${getJsonDict}
     Should Be True    ${test_result}
 
 Test Instance Validation
     [Arguments]    ${listIndex}
     ${voltTenantList}=    Get Variable Value    ${vlist}
-    ${voltTenantDict}=    utils.listToDict    ${voltTenantList}    ${listIndex}
+    ${voltTenantDict}=    CORDRobot.listToDict    ${voltTenantList}    ${listIndex}
     ${voltDict}=    Get From Dictionary    ${voltTenantDict}    voltTenant
     ${input_sTag}=    Get From Dictionary    ${voltDict}    s_tag
-    ${get_result}=    restApi.ApiGet    TENANT_VOLT
-    ${tenantDict}=    utils.getDictFromListofDict    ${get_result}    s_tag    ${input_sTag}
+    ${get_result}=    CORDRobot.ApiGet    TENANT_VOLT
+    ${tenantDict}=    CORDRobot.getDictFromListofDict    ${get_result}    s_tag    ${input_sTag}
     Log    ${tenantDict}
-    ${instance_id_fromvolt}=    utils.getFieldValueFromDict    ${tenantDict}    instance_id
-    ${instance_name}=    utils.getFieldValueFromDict    ${tenantDict}    instance_name
+    ${instance_id_fromvolt}=    CORDRobot.getFieldValueFromDict    ${tenantDict}    instance_id
+    ${instance_name}=    CORDRobot.getFieldValueFromDict    ${tenantDict}    instance_name
     ${instance_id_name}=    Catenate    SEPARATOR=-    ${instance_name}    ${instance_id_fromvolt}
-    ${get_instanceresult}=    restApi.ApiGet    CORE_INSTANCES
-    ${instanceDict}=    utils.getDictFromListofDict    ${get_instanceresult}    instance_name    ${instance_id_name}
-    ${instance_id_fromCore}=    utils.getFieldValueFromDict    ${instanceDict}    id
+    ${get_instanceresult}=    CORDRobot.ApiGet    CORE_INSTANCES
+    ${instanceDict}=    CORDRobot.getDictFromListofDict    ${get_instanceresult}    instance_name    ${instance_id_name}
+    ${instance_id_fromCore}=    CORDRobot.getFieldValueFromDict    ${instanceDict}    id
     Should Be Equal As Strings    ${instance_id_fromvolt}    ${instance_id_fromCore}
diff --git a/src/test/cord-api/Tests/NodeTest.txt b/src/test/cord-api/Tests/NodeTest.txt
index fda6537..882354c 100644
--- a/src/test/cord-api/Tests/NodeTest.txt
+++ b/src/test/cord-api/Tests/NodeTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 | Variables |     ../Properties/RestApiProperties.py
 
 *** Variables ***
@@ -33,7 +33,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${nodeList}=    utils.jsonToList    ${PATHFILE}    NodeInfo
+    ${nodeList}=    CORDRobot.jsonToList    ${PATHFILE}    NodeInfo
     Set Suite Variable    ${nlist}    ${nodeList}
     ${siteDeployment}=    Catenate    SEPARATOR=    http://    ${IP}    :    ${PORT}    /api/core/sitedeployments/1/
     Set Suite Variable    ${siteDeployment}    ${siteDeployment}
@@ -47,35 +47,35 @@
 Test Post Node API
     [Arguments]    ${listIndex}
     ${nodeList}=    Get Variable Value    ${nlist}
-    ${nodeDict}=    utils.listToDict    ${nodeList}    ${listIndex}
+    ${nodeDict}=    CORDRobot.listToDict    ${nodeList}    ${listIndex}
     ${siteDeployment}=    Get Variable Value    ${siteDeployment}
-    ${nodeDict}=    utils.setFieldValueInDict    ${nodeDict}    site_deployment    ${siteDeployment}
-    ${api_result}=    restApi.ApiPost    CORE_NODES    ${nodeDict}
+    ${nodeDict}=    CORDRobot.setFieldValueInDict    ${nodeDict}    site_deployment    ${siteDeployment}
+    ${api_result}=    CORDRobot.ApiPost    CORE_NODES    ${nodeDict}
     Should Be True    ${api_result}
 
 Test Get Node API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet   CORE_NODES
+    ${json_result}=    CORDRobot.ApiGet   CORE_NODES
     Log    ${json_result}
     ${nodeList}=    Get Variable Value    ${nlist}
-    ${nodeDict}=    utils.listToDict    ${nodeList}    ${listIndex}
+    ${nodeDict}=    CORDRobot.listToDict    ${nodeList}    ${listIndex}
     ${siteDeployment}=    Get Variable Value    ${siteDeployment}
-    ${nodeDict}=    utils.setFieldValueInDict    ${nodeDict}    site_deployment    ${siteDeployment}
-    ${name}=    utils.getFieldValueFromDict    ${nodeDict}   name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    name    ${name}
-    ${test_result}=    utils.compare_dict    ${nodeDict}    ${getJsonDict}
+    ${nodeDict}=    CORDRobot.setFieldValueInDict    ${nodeDict}    site_deployment    ${siteDeployment}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${nodeDict}   name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    name    ${name}
+    ${test_result}=    CORDRobot.compare_dict    ${nodeDict}    ${getJsonDict}
     Should Be True    ${test_result}
 
 Test Delete Node API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CORE_NODES
+    ${json_result}=    CORDRobot.ApiGet    CORE_NODES
     ${nodeList}=    Get Variable Value    ${nlist}
-    ${nodeDict}=    utils.listToDict    ${nodeList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${nodeDict}    name
+    ${nodeDict}=    CORDRobot.listToDict    ${nodeList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${nodeDict}    name
     Log    ${name}
-    ${nodeDict}=    utils.getDictFromListofDict    ${json_result}    name  ${name}
+    ${nodeDict}=    CORDRobot.getDictFromListofDict    ${json_result}    name  ${name}
     Log    ${nodeDict}
-    ${nodeId}=    utils.getFieldValueFromDict    ${nodeDict}    id
+    ${nodeId}=    CORDRobot.getFieldValueFromDict    ${nodeDict}    id
     Log    ${nodeId}
-    ${test_result}=    restApi.ApiDelete    CORE_NODES    ${nodeId}
+    ${test_result}=    CORDRobot.ApiDelete    CORE_NODES    ${nodeId}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/OSSVolt.txt b/src/test/cord-api/Tests/OSSVolt.txt
index 2282d99..6bdab45 100644
--- a/src/test/cord-api/Tests/OSSVolt.txt
+++ b/src/test/cord-api/Tests/OSSVolt.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/ossVolt.json
@@ -21,7 +21,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${ossVoltList}=    utils.jsonToList    ${PATHFILE}    ossVoltInfo
+    ${ossVoltList}=    CORDRobot.jsonToList    ${PATHFILE}    ossVoltInfo
     Set Suite Variable    ${dlist}    ${ossVoltList}
     Set Global Variable    ${VOLTDevice_Id}    ${EMPTY}
     Set Global Variable    ${hippieOSS_Id}    ${EMPTY}
@@ -34,20 +34,20 @@
 Test Post OSS Volt
     [Arguments]    ${listIndex}
     ${ossVoltList} =    Get Variable Value    ${dlist}
-    ${ossVoltDict}=    utils.listToDict    ${ossvoltList}    ${listIndex}
-    ${api_getResult}=    restApi.ApiGet   VOLT_SERVICE 
+    ${ossVoltDict}=    CORDRobot.listToDict    ${ossvoltList}    ${listIndex}
+    ${api_getResult}=    CORDRobot.ApiGet   VOLT_SERVICE 
     ${voltServiceList}=    Get From Dictionary    ${api_getResult}    items
-    ${voltServiceDict}=    utils.getDictFromListOfDict    ${voltServiceList}    leaf_model_name    VOLTService
+    ${voltServiceDict}=    CORDRobot.getDictFromListOfDict    ${voltServiceList}    leaf_model_name    VOLTService
     ${VOLTService_Id}=    Get From Dictionary    ${voltServiceDict}    id
-    ${ossVoltDict}=    utils.setFieldValueInDict    ${ossVoltDict}    provider_service_id    ${VOLTService_Id}
+    ${ossVoltDict}=    CORDRobot.setFieldValueInDict    ${ossVoltDict}    provider_service_id    ${VOLTService_Id}
     Log    ${ossVoltDict}
-    ${api_getResult}=    restApi.ApiGet   OSS_SERVICE 
+    ${api_getResult}=    CORDRobot.ApiGet   OSS_SERVICE 
     ${ServiceList}=    Get From Dictionary    ${api_getResult}    items
-    ${ServiceDict}=    utils.getDictFromListOfDict    ${ServiceList}    self_content_type_id    hippie-oss.hippieossservice
+    ${ServiceDict}=    CORDRobot.getDictFromListOfDict    ${ServiceList}    self_content_type_id    hippie-oss.hippieossservice
     ${hippieOSS_Id}=    Get From Dictionary    ${ServiceDict}    id
-    ${ossVoltDict}=    utils.setFieldValueInDict    ${ossVoltDict}    subscriber_service_id    ${hippieOSS_Id}
+    ${ossVoltDict}=    CORDRobot.setFieldValueInDict    ${ossVoltDict}    subscriber_service_id    ${hippieOSS_Id}
     Log    ${ossVoltDict}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    OSS_VOLT    ${ossVoltDict}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    OSS_VOLT    ${ossVoltDict}
     Should Be True    ${api_result_status}
     ${VOLTDevice_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${VOLTDevice_Id}
@@ -55,10 +55,10 @@
 Test Get OSS Volt 
     [Arguments]    ${listIndex}
     Log    ${VOLTDevice_Id}
-    ${json_result}=    restApi.ApiChameleonGet    OSS_VOLT    ${VOLTDevice_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    OSS_VOLT    ${VOLTDevice_Id}
     Log    ${json_result}
     ${voltDeviceList} =    Get Variable Value    ${dlist}
-    ${voltDeviceDict}=    utils.listToDict    ${voltDeviceList}    ${listIndex}
+    ${voltDeviceDict}=    CORDRobot.listToDict    ${voltDeviceList}    ${listIndex}
     Log    ${voltDeviceDict}
-    ${test_result}=    utils.compare_dict    ${voltDeviceDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${voltDeviceDict}    ${json_result}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/RCORDLite_E2ETest.txt b/src/test/cord-api/Tests/RCORDLite_E2ETest.txt
index 4195f76..354ede4 100644
--- a/src/test/cord-api/Tests/RCORDLite_E2ETest.txt
+++ b/src/test/cord-api/Tests/RCORDLite_E2ETest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/RCORDLite_Subscriber.json
@@ -25,7 +25,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${subscriberList} =    utils.jsonToList    ${PATHFILE}    SubscriberInfo
+    ${subscriberList} =    CORDRobot.jsonToList    ${PATHFILE}    SubscriberInfo
     Set Suite Variable    ${slist}    ${subscriberList}
     @{instanceList}=    Create List
     Set Suite Variable    @{instanceList}
@@ -37,31 +37,31 @@
 Test Post Subscriber Create
     [Arguments]    ${listIndex}
     ${subscriberList} =    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${api_result_status}   ${api_result_json}=    restApi.ApiPostReturnJson    VOLT_SUBSCRIBER    ${subscriberDict}
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${api_result_status}   ${api_result_json}=    CORDRobot.ApiPostReturnJson    VOLT_SUBSCRIBER    ${subscriberDict}
     Sleep    90
     Should Be True    ${api_result_status}
     ${Subscriber_Id}=    Get From Dictionary    ${api_result_json}    id
-    ${json_result}=    restApi.ApiChameleonGet    VOLT_SUBSCRIBER    ${Subscriber_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    VOLT_SUBSCRIBER    ${Subscriber_Id}
     Log    ${json_result}
-    ${result}=    utils.compare_dict    ${subscriberDict}    ${json_result}
+    ${result}=    CORDRobot.compare_dict    ${subscriberDict}    ${json_result}
     Should Be True    ${result}
     ${instanceList}    Create List
     # Retrieve Subscribed_links_id from Posted Subscriber
-    ${subscribed_links_ids_list}=    utils.getFieldValueFromDict    ${json_result}    subscribed_links_ids
+    ${subscribed_links_ids_list}=    CORDRobot.getFieldValueFromDict    ${json_result}    subscribed_links_ids
     ${subscribed_links_ids}=    Get From List    ${subscribed_links_ids_list}    0
     # Retrieve Provided_Service_Instance_Id from "ServiceInstanceLinks"
-    ${getServiceLink}=    restApi.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
+    ${getServiceLink}=    CORDRobot.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
     ${provider_service_instance_id}=    Get From Dictionary    ${getServiceLink}    provider_service_instance_id
     # RETRIEVE VOLT OBJECT USING PROVIDER INSTANCE ID   
-    ${getVoltDict}=    restApi.ApiChameleonGet    VOLT_TENANT    ${provider_service_instance_id}
+    ${getVoltDict}=    CORDRobot.ApiChameleonGet    VOLT_TENANT    ${provider_service_instance_id}
     # RETRIEVE SUBSCRIBED_LINKS_IDS FROM THE VOLT DICTIONARY
-    ${subscribed_links_ids_list}=    utils.getFieldValueFromDict    ${getVoltDict}    subscribed_links_ids
+    ${subscribed_links_ids_list}=    CORDRobot.getFieldValueFromDict    ${getVoltDict}    subscribed_links_ids
     ${subscribed_links_ids}=    Get From List    ${subscribed_links_ids_list}    0
     # RETRIEVE PROVIDED_SERVICE_INSTANCE_ID 
-    ${serviceLinkDict}=    restApi.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
+    ${serviceLinkDict}=    CORDRobot.ApiChameleonGet    CH_CORE_SERVICELINK    ${subscribed_links_ids}
     Log    ${serviceLinkDict}
     ${VSGTenant}=    Get From Dictionary    ${serviceLinkDict}    provider_service_instance_id
     # Retrieve VSGTenant to retrieve instance_id
-    ${getVSG_result}=    restApi.ApiChameleonGet    HWVSG_TENANT    ${VSGTenant}
+    ${getVSG_result}=    CORDRobot.ApiChameleonGet    HWVSG_TENANT    ${VSGTenant}
     Should Be True    ${getVSG_result}
diff --git a/src/test/cord-api/Tests/RealOLT_Test.txt b/src/test/cord-api/Tests/RealOLT_Test.txt
index 86faa32..f0061e9 100644
--- a/src/test/cord-api/Tests/RealOLT_Test.txt
+++ b/src/test/cord-api/Tests/RealOLT_Test.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/RealOLTDevice.json
@@ -21,7 +21,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${voltDeviceList}=    utils.jsonToList    ${PATHFILE}    VOLTDeviceInfo
+    ${voltDeviceList}=    CORDRobot.jsonToList    ${PATHFILE}    VOLTDeviceInfo
     Set Suite Variable    ${dlist}    ${voltDeviceList}
     Set Global Variable    ${VOLTDevice_Id}    ${EMPTY}
 
@@ -33,14 +33,14 @@
 Test Post VOLT Device API
     [Arguments]    ${listIndex}
     ${voltDeviceList} =    Get Variable Value    ${dlist}
-    ${voltDeviceDict}=    utils.listToDict    ${voltDeviceList}    ${listIndex}
-    ${api_getResult}=    restApi.ApiGet    VOLT_SERVICE
+    ${voltDeviceDict}=    CORDRobot.listToDict    ${voltDeviceList}    ${listIndex}
+    ${api_getResult}=    CORDRobot.ApiGet    VOLT_SERVICE
     ${voltServiceList}=    Get From Dictionary    ${api_getResult}    items
-    ${voltServiceDict}=    utils.getDictFromListOfDict    ${voltServiceList}    leaf_model_name    VOLTService
+    ${voltServiceDict}=    CORDRobot.getDictFromListOfDict    ${voltServiceList}    leaf_model_name    VOLTService
     ${VOLTService_Id}=    Get From Dictionary    ${voltServiceDict}    id
-    ${voltDeviceDict}=    utils.setFieldValueInDict    ${voltDeviceDict}    volt_service_id    ${VOLTService_Id}
+    ${voltDeviceDict}=    CORDRobot.setFieldValueInDict    ${voltDeviceDict}    volt_service_id    ${VOLTService_Id}
     Log    ${voltDeviceDict}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    VOLT_DEVICE    ${voltDeviceDict}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    VOLT_DEVICE    ${voltDeviceDict}
     Should Be True    ${api_result_status}
     ${VOLTDevice_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${VOLTDevice_Id}
@@ -48,10 +48,10 @@
 Test Get VOLT Device API
     [Arguments]    ${listIndex}
     Log    ${VOLTDevice_Id}
-    ${json_result}=    restApi.ApiChameleonGet    VOLT_DEVICE    ${VOLTDevice_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    VOLT_DEVICE    ${VOLTDevice_Id}
     Log    ${json_result}
     ${voltDeviceList} =    Get Variable Value    ${dlist}
-    ${voltDeviceDict}=    utils.listToDict    ${voltDeviceList}    ${listIndex}
+    ${voltDeviceDict}=    CORDRobot.listToDict    ${voltDeviceList}    ${listIndex}
     Log    ${voltDeviceDict}
-    ${test_result}=    utils.compare_dict    ${voltDeviceDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${voltDeviceDict}    ${json_result}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/SanityFlavors.txt b/src/test/cord-api/Tests/SanityFlavors.txt
index 4754cbb..2815a73 100644
--- a/src/test/cord-api/Tests/SanityFlavors.txt
+++ b/src/test/cord-api/Tests/SanityFlavors.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -32,7 +32,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${flavorList} =    utils.jsonToList    ${PATHFILE}    flavorsInfo
+    ${flavorList} =    CORDRobot.jsonToList    ${PATHFILE}    flavorsInfo
     Set Suite Variable    ${vList}    ${flavorList}
 
 Verify Flavor API functionality
@@ -44,31 +44,31 @@
 Test Post Flavors
     [Arguments]    ${listIndex}
     ${flavorList} =    Get Variable Value    ${vList}
-    ${flavorDict}=    utils.listToDict    ${flavorList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CORE_FLAVORS    ${flavorDict}
+    ${flavorDict}=    CORDRobot.listToDict    ${flavorList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CORE_FLAVORS    ${flavorDict}
     Should Be True    ${api_result}
 
 Test Get Flavors
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CORE_FLAVORS
+    ${json_result}=    CORDRobot.ApiGet    CORE_FLAVORS
     Log    ${json_result}
     ${flavorList}=    Get Variable Value    ${vList}
-    ${inputDict}=    utils.listToDict    ${flavorList}    ${listIndex}
-    ${flavorName}=    utils.getFieldValueFromDict    ${inputDict}    name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    name    ${flavorName}
-    ${test_result}=    utils.compare_dict    ${inputDict}    ${getJsonDict}
+    ${inputDict}=    CORDRobot.listToDict    ${flavorList}    ${listIndex}
+    ${flavorName}=    CORDRobot.getFieldValueFromDict    ${inputDict}    name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    name    ${flavorName}
+    ${test_result}=    CORDRobot.compare_dict    ${inputDict}    ${getJsonDict}
     Should Be True    ${json_result}
 
 Test Delete Flavors
     [Arguments]    ${listIndex}
-    ${json_getresult}=    restApi.ApiGet    CORE_FLAVORS
+    ${json_getresult}=    CORDRobot.ApiGet    CORE_FLAVORS
     ${flavorList}=    Get Variable Value    ${vList}
-    ${flavorDict}=    utils.listToDict    ${vList}    ${listIndex}
-    ${flavorName}=    utils.getFieldValueFromDict    ${flavorDict}    name
+    ${flavorDict}=    CORDRobot.listToDict    ${vList}    ${listIndex}
+    ${flavorName}=    CORDRobot.getFieldValueFromDict    ${flavorDict}    name
     Log    ${flavorName}
-    ${getFlavorDict}=    utils.getDictFromListofDict    ${json_getresult}    name    ${flavorName}
+    ${getFlavorDict}=    CORDRobot.getDictFromListofDict    ${json_getresult}    name    ${flavorName}
     Log    ${getFlavorDict}
-    ${flavorID}=    utils.getFieldValueFromDict    ${getFlavorDict}    id
+    ${flavorID}=    CORDRobot.getFieldValueFromDict    ${getFlavorDict}    id
     Log    ${flavorID}
-    ${test_result}=    restApi.ApiDelete    CORE_FLAVORS    ${flavorID}
+    ${test_result}=    CORDRobot.ApiDelete    CORE_FLAVORS    ${flavorID}
     Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/SanityInstance.txt b/src/test/cord-api/Tests/SanityInstance.txt
index f072f9c..cd3048a 100644
--- a/src/test/cord-api/Tests/SanityInstance.txt
+++ b/src/test/cord-api/Tests/SanityInstance.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -36,7 +36,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${instanceList} =    utils.jsonToList    ${PATHFILE}    InstanceInfo
+    ${instanceList} =    CORDRobot.jsonToList    ${PATHFILE}    InstanceInfo
     Set Suite Variable    ${iList}    ${instanceList}
 
 Verify Instance API functionality
@@ -48,31 +48,31 @@
 Test Post Instances
     [Arguments]    ${listIndex}
     ${instanceList} =    Get Variable Value    ${iList}
-    ${instanceDict}=    utils.listToDict    ${instanceList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CORE_SANITY_INSTANCES    ${instanceDict}
+    ${instanceDict}=    CORDRobot.listToDict    ${instanceList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CORE_SANITY_INSTANCES    ${instanceDict}
     Should Be True    ${api_result}
 
 Test Get Instances
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CORE_INSTANCES
+    ${json_result}=    CORDRobot.ApiGet    CORE_INSTANCES
     Log    ${json_result}
     ${instanceList}=    Get Variable Value    ${iList}
-    ${inputDict}=    utils.listToDict    ${instanceList}    ${listIndex}
-    ${instanceName}=    utils.getFieldValueFromDict    ${inputDict}    name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    name    ${instanceName}
-    ${test_result}=    utils.compare_dict    ${inputDict}    ${getJsonDict}
+    ${inputDict}=    CORDRobot.listToDict    ${instanceList}    ${listIndex}
+    ${instanceName}=    CORDRobot.getFieldValueFromDict    ${inputDict}    name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    name    ${instanceName}
+    ${test_result}=    CORDRobot.compare_dict    ${inputDict}    ${getJsonDict}
     Should Be True    ${json_result}
 
 Test Delete Instances
     [Arguments]    ${listIndex}
-    ${json_getresult}=    restApi.ApiGet    CORE_INSTANCES
+    ${json_getresult}=    CORDRobot.ApiGet    CORE_INSTANCES
     ${instanceList}=    Get Variable Value    ${iList}
-    ${instanceDict}=    utils.listToDict    ${iList}    ${listIndex}
-    ${instanceName}=    utils.getFieldValueFromDict    ${instanceDict}    name
+    ${instanceDict}=    CORDRobot.listToDict    ${iList}    ${listIndex}
+    ${instanceName}=    CORDRobot.getFieldValueFromDict    ${instanceDict}    name
     Log    ${instanceName}
-    ${getInstanceDict}=    utils.getDictFromListofDict    ${json_getresult}    name    ${instanceName}
+    ${getInstanceDict}=    CORDRobot.getDictFromListofDict    ${json_getresult}    name    ${instanceName}
     Log    ${getInstanceDict}
-    ${instanceID}=    utils.getFieldValueFromDict    ${getInstanceDict}    id
+    ${instanceID}=    CORDRobot.getFieldValueFromDict    ${getInstanceDict}    id
     Log    ${instanceID}
-    ${test_result}=    restApi.ApiDelete    CORE_INSTANCES    ${instanceID}
+    ${test_result}=    CORDRobot.ApiDelete    CORE_INSTANCES    ${instanceID}
     Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/SanityNode.txt b/src/test/cord-api/Tests/SanityNode.txt
index 0bf27f8..a9d6502 100644
--- a/src/test/cord-api/Tests/SanityNode.txt
+++ b/src/test/cord-api/Tests/SanityNode.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -30,7 +30,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${nodeList}=    utils.jsonToList    ${PATHFILE}    NodeInfo
+    ${nodeList}=    CORDRobot.jsonToList    ${PATHFILE}    NodeInfo
     Set Suite Variable    ${nlist}    ${nodeList}
 
 Verify Node functionality
@@ -42,31 +42,31 @@
 Test Post Node API
     [Arguments]    ${listIndex}
     ${nodeList}=    Get Variable Value    ${nlist}
-    ${nodeDict}=    utils.listToDict    ${nodeList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CORE_SANITY_NODES    ${nodeDict}
+    ${nodeDict}=    CORDRobot.listToDict    ${nodeList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CORE_SANITY_NODES    ${nodeDict}
     Should Be True    ${api_result}
 
 Test Get Node API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet   CORE_NODES
+    ${json_result}=    CORDRobot.ApiGet   CORE_NODES
     Log    ${json_result}
     ${nodeList}=    Get Variable Value    ${nlist}
-    ${nodeDict}=    utils.listToDict    ${nodeList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${nodeDict}   name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    name    ${name}
-    ${test_result}=    utils.compare_dict    ${nodeDict}    ${getJsonDict}
+    ${nodeDict}=    CORDRobot.listToDict    ${nodeList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${nodeDict}   name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    name    ${name}
+    ${test_result}=    CORDRobot.compare_dict    ${nodeDict}    ${getJsonDict}
     Should Be True    ${test_result}
 
 Test Delete Node API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CORE_NODES
+    ${json_result}=    CORDRobot.ApiGet    CORE_NODES
     ${nodeList}=    Get Variable Value    ${nlist}
-    ${nodeDict}=    utils.listToDict    ${nodeList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${nodeDict}    name
+    ${nodeDict}=    CORDRobot.listToDict    ${nodeList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${nodeDict}    name
     Log    ${name}
-    ${nodeDict}=    utils.getDictFromListofDict    ${json_result}    name  ${name}
+    ${nodeDict}=    CORDRobot.getDictFromListofDict    ${json_result}    name  ${name}
     Log    ${nodeDict}
-    ${nodeId}=    utils.getFieldValueFromDict    ${nodeDict}    id
+    ${nodeId}=    CORDRobot.getFieldValueFromDict    ${nodeDict}    id
     Log    ${nodeId}
-    ${test_result}=    restApi.ApiDelete    CORE_NODES    ${nodeId}
+    ${test_result}=    CORDRobot.ApiDelete    CORE_NODES    ${nodeId}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/SanitySlice.txt b/src/test/cord-api/Tests/SanitySlice.txt
index 454eba5..e19fbec 100644
--- a/src/test/cord-api/Tests/SanitySlice.txt
+++ b/src/test/cord-api/Tests/SanitySlice.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -22,7 +22,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${sliceList} =    utils.jsonToList    ${PATHFILE}    sliceInfo
+    ${sliceList} =    CORDRobot.jsonToList    ${PATHFILE}    sliceInfo
     Set Suite Variable    ${sList}    ${sliceList}
 
 Verify Slice API functionality
@@ -34,31 +34,31 @@
 Test Post Slices
     [Arguments]    ${listIndex}
     ${sliceList} =    Get Variable Value    ${sList}
-    ${sliceDict}=    utils.listToDict    ${sliceList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CORE_SANITY_SLICES    ${sliceDict}
+    ${sliceDict}=    CORDRobot.listToDict    ${sliceList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CORE_SANITY_SLICES    ${sliceDict}
     Should Be True    ${api_result}
 
 Test Get Slices
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CORE_SLICES
+    ${json_result}=    CORDRobot.ApiGet    CORE_SLICES
     Log    ${json_result}
     ${sliceList}=    Get Variable Value    ${sList}
-    ${inputDict}=    utils.listToDict    ${sliceList}    ${listIndex}
-    ${ID}=    utils.getFieldValueFromDict    ${inputDict}    id
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    id    ${ID}
-    ${test_result}=    utils.compare_dict    ${inputDict}    ${getJsonDict}
+    ${inputDict}=    CORDRobot.listToDict    ${sliceList}    ${listIndex}
+    ${ID}=    CORDRobot.getFieldValueFromDict    ${inputDict}    id
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    id    ${ID}
+    ${test_result}=    CORDRobot.compare_dict    ${inputDict}    ${getJsonDict}
     Should Be True    ${json_result}
 
 Test Delete Slices
     [Arguments]    ${listIndex}
-    ${json_getresult}=    restApi.ApiGet    CORE_SLICES
+    ${json_getresult}=    CORDRobot.ApiGet    CORE_SLICES
     ${sliceList}=    Get Variable Value    ${sList}
-    ${sliceDict}=    utils.listToDict    ${sList}    ${listIndex}
-    ${sliceName}=    utils.getFieldValueFromDict    ${sliceDict}    name
+    ${sliceDict}=    CORDRobot.listToDict    ${sList}    ${listIndex}
+    ${sliceName}=    CORDRobot.getFieldValueFromDict    ${sliceDict}    name
     Log    ${sliceName}
-    ${getSliceDict}=    utils.getDictFromListofDict    ${json_getresult}    name    ${sliceName}
+    ${getSliceDict}=    CORDRobot.getDictFromListofDict    ${json_getresult}    name    ${sliceName}
     Log    ${getSliceDict}
-    ${sliceID}=    utils.getFieldValueFromDict    ${getSliceDict}    id
+    ${sliceID}=    CORDRobot.getFieldValueFromDict    ${getSliceDict}    id
     Log    ${sliceID}
-    ${test_result}=    restApi.ApiDelete    CORE_SLICES    ${sliceID}
+    ${test_result}=    CORDRobot.ApiDelete    CORE_SLICES    ${sliceID}
     Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Sanity_PONPort.txt b/src/test/cord-api/Tests/Sanity_PONPort.txt
index ba7237a..5f93339 100644
--- a/src/test/cord-api/Tests/Sanity_PONPort.txt
+++ b/src/test/cord-api/Tests/Sanity_PONPort.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 # Update the input file for olt_device_id before running the tests
@@ -37,7 +37,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${PONPortList}=    utils.jsonToList    ${PATHFILE}    PONPortInfo
+    ${PONPortList}=    CORDRobot.jsonToList    ${PATHFILE}    PONPortInfo
     Set Suite Variable    ${plist}    ${PONPortList}
     Set Suite Variable    ${PONPort_Id}    ${EMPTY}
 
@@ -50,8 +50,8 @@
 Test Post PONPort API
     [Arguments]    ${listIndex}
     ${PONPortList} =    Get Variable Value    ${plist}
-    ${PONPortDict}=    utils.listToDict    ${PONPortList}    ${listIndex}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    PON_PORT    ${PONPortDict}
+    ${PONPortDict}=    CORDRobot.listToDict    ${PONPortList}    ${listIndex}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    PON_PORT    ${PONPortDict}
     Should Be True    ${api_result_status}
     ${PONPort_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${PONPort_Id}
@@ -59,15 +59,15 @@
 Test Get PONPort API
     [Arguments]    ${listIndex}
     Log    ${PONPort_Id}
-    ${json_result}=    restApi.ApiChameleonGet    PON_PORT    ${PONPort_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    PON_PORT    ${PONPort_Id}
     Log    ${json_result}
     ${PONPortList} =    Get Variable Value    ${plist}
-    ${PONPortDict}=    utils.listToDict    ${PONPortList}    ${listIndex}
+    ${PONPortDict}=    CORDRobot.listToDict    ${PONPortList}    ${listIndex}
     Log    ${PONPortDict}
-    ${test_result}=    utils.compare_dict    ${PONPortDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${PONPortDict}    ${json_result}
     Should Be True    ${test_result}
 
 Test Delete PONPort API
     [Arguments]    ${listIndex}
-    ${test_result}=    restApi.ApiChameleonDelete    PON_PORT    ${PONPort_Id}
+    ${test_result}=    CORDRobot.ApiChameleonDelete    PON_PORT    ${PONPort_Id}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/ServiceTest.txt b/src/test/cord-api/Tests/ServiceTest.txt
index 4a31ad8..9b6817f 100644
--- a/src/test/cord-api/Tests/ServiceTest.txt
+++ b/src/test/cord-api/Tests/ServiceTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -35,9 +35,9 @@
 
 *** Keywords ***
 Read InputFile
-    ${serviceList}=    utils.jsonToList    ${PATHFILE}    ServiceInfo
+    ${serviceList}=    CORDRobot.jsonToList    ${PATHFILE}    ServiceInfo
     Set Suite Variable    ${slist}    ${serviceList}
-    ${putServiceList}=    utils.jsonToList    ${PATHFILE2}    ServiceInfo
+    ${putServiceList}=    CORDRobot.jsonToList    ${PATHFILE2}    ServiceInfo
     Set Suite Variable    ${putList}    ${putServiceList}
 
 Verify Service functionality
@@ -50,45 +50,45 @@
 Test Post Service API
     [Arguments]    ${listIndex}
     ${serviceList} =    Get Variable Value    ${slist}
-    ${serviceDict}=    utils.listToDict    ${serviceList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CORE_SERVICES    ${serviceDict}
+    ${serviceDict}=    CORDRobot.listToDict    ${serviceList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CORE_SERVICES    ${serviceDict}
     Should Be True    ${api_result}
 
 Test Get Service API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet   CORE_SERVICES
+    ${json_result}=    CORDRobot.ApiGet   CORE_SERVICES
     Log    ${json_result}
     ${serviceList}=    Get Variable Value    ${slist}
-    ${serviceDict}=    utils.listToDict    ${serviceList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${serviceDict}   name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    name    ${name}
-    ${test_result}=    utils.compare_dict    ${serviceDict}    ${getJsonDict}
+    ${serviceDict}=    CORDRobot.listToDict    ${serviceList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${serviceDict}   name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    name    ${name}
+    ${test_result}=    CORDRobot.compare_dict    ${serviceDict}    ${getJsonDict}
     Should Be True    ${test_result}
 
 Test Edit Service API
     [Arguments]    ${listIndex}
-    ${get_result}=    restApi.ApiGet    CORE_SERVICES
+    ${get_result}=    CORDRobot.ApiGet    CORE_SERVICES
     ${putServiceList}=    Get Variable Value    ${putList}
-    ${putServiceDict}=    utils.listToDict    ${putServiceList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${putServiceDict}    name
-    ${serviceDict}=    utils.getDictFromListofDict    ${get_result}    name    ${name}
-    ${serviceID}=    utils.getFieldValueFromDict    ${serviceDict}    id
-    ${api_result}=    restApi.ApiPut    CORE_SERVICES    ${putServiceDict}    ${serviceID}
+    ${putServiceDict}=    CORDRobot.listToDict    ${putServiceList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${putServiceDict}    name
+    ${serviceDict}=    CORDRobot.getDictFromListofDict    ${get_result}    name    ${name}
+    ${serviceID}=    CORDRobot.getFieldValueFromDict    ${serviceDict}    id
+    ${api_result}=    CORDRobot.ApiPut    CORE_SERVICES    ${putServiceDict}    ${serviceID}
     Should Be True    ${api_result}
-    ${getResultAfterPut}=    restApi.ApiGet    CORE_SERVICES    ${serviceID}
-    ${test_result}=    utils.compare_dict    ${putServiceDict}    ${getResultAfterPut}
+    ${getResultAfterPut}=    CORDRobot.ApiGet    CORE_SERVICES    ${serviceID}
+    ${test_result}=    CORDRobot.compare_dict    ${putServiceDict}    ${getResultAfterPut}
     Should Be True    ${test_result}
 
 Test Delete Service API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CORE_SERVICES
+    ${json_result}=    CORDRobot.ApiGet    CORE_SERVICES
     ${serviceList}=    Get Variable Value    ${slist}
-    ${serviceDict}=    utils.listToDict    ${serviceList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${serviceDict}    name
+    ${serviceDict}=    CORDRobot.listToDict    ${serviceList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${serviceDict}    name
     Log    ${name}
-    ${serviceDict}=    utils.getDictFromListofDict    ${json_result}    name  ${name}
+    ${serviceDict}=    CORDRobot.getDictFromListofDict    ${json_result}    name  ${name}
     Log    ${serviceDict}
-    ${serviceId}=    utils.getFieldValueFromDict    ${serviceDict}    id
+    ${serviceId}=    CORDRobot.getFieldValueFromDict    ${serviceDict}    id
     Log    ${serviceId}
-    ${test_result}=    restApi.ApiDelete    CORE_SERVICES    ${serviceId}
+    ${test_result}=    CORDRobot.ApiDelete    CORE_SERVICES    ${serviceId}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/SingleInstanceTest.txt b/src/test/cord-api/Tests/SingleInstanceTest.txt
index 209f09c..8ce29f0 100644
--- a/src/test/cord-api/Tests/SingleInstanceTest.txt
+++ b/src/test/cord-api/Tests/SingleInstanceTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -40,9 +40,9 @@
 
 *** Keywords ***
 Read InputFile
-    ${subscriberList} =    utils.jsonToList    ${PATHFILE}    SubscriberInfo
+    ${subscriberList} =    CORDRobot.jsonToList    ${PATHFILE}    SubscriberInfo
     Set Suite Variable    ${slist}    ${subscriberList}
-    ${voltList}=    utils.jsonToList    ${PATHFILE2}    voltSubscriberInfo
+    ${voltList}=    CORDRobot.jsonToList    ${PATHFILE2}    voltSubscriberInfo
     Set Suite Variable    ${vlist}    ${voltList}
 
 Verify Instance functionality
@@ -54,35 +54,35 @@
 Test Post Subscriber Create
     [Arguments]    ${listIndex}
     ${subscriberList} =    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    TENANT_SUBSCRIBER    ${subscriberDict}
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    TENANT_SUBSCRIBER    ${subscriberDict}
     Should Be True    ${api_result}
 
 Test Post volt Tenant Create
     [Arguments]    ${listIndex}
     ${voltTenantList} =    Get Variable Value    ${vlist}
-    ${voltTenantDict}=    utils.listToDict    ${voltTenantList}    ${listIndex}
+    ${voltTenantDict}=    CORDRobot.listToDict    ${voltTenantList}    ${listIndex}
     ${voltDict}=    Get From Dictionary    ${voltTenantDict}    voltTenant
     ${account_num}=    Get From Dictionary    ${voltTenantDict}    account_num
-    ${get_result}=    restApi.ApiGet    TENANT_SUBSCRIBER
-    ${subscriberDict}=    utils.getDictFromListofDict    ${get_result}    account_num    ${account_num}
-    ${subscriberID}=    utils.getFieldValueFromDict    ${subscriberDict}    id
-    ${updatedVoltDict}=    utils.setFieldValueInDict    ${voltDict}    subscriber    ${subscriberID}
-    ${api_result}=    restApi.ApiPost    TENANT_VOLT    ${updatedVoltDict}
+    ${get_result}=    CORDRobot.ApiGet    TENANT_SUBSCRIBER
+    ${subscriberDict}=    CORDRobot.getDictFromListofDict    ${get_result}    account_num    ${account_num}
+    ${subscriberID}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    id
+    ${updatedVoltDict}=    CORDRobot.setFieldValueInDict    ${voltDict}    subscriber    ${subscriberID}
+    ${api_result}=    CORDRobot.ApiPost    TENANT_VOLT    ${updatedVoltDict}
     Should Be True    ${api_result}
     # Verifying Get operation after POST
-    ${getVolt_result}=    restApi.ApiGet    TENANT_VOLT
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${getVolt_result}    subscriber    ${subscriberID}
-    ${test_result}=    utils.compare_dict    ${voltDict}    ${getJsonDict}
+    ${getVolt_result}=    CORDRobot.ApiGet    TENANT_VOLT
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${getVolt_result}    subscriber    ${subscriberID}
+    ${test_result}=    CORDRobot.compare_dict    ${voltDict}    ${getJsonDict}
     Should Be True    ${test_result}
 
 Test Instance Validation
     [Arguments]    ${listIndex}
-    ${get_result}=    restApi.ApiGet    TENANT_SUBSCRIBER
-    ${instance_id_fromvolt}=    utils.getAllFieldValues    ${get_result}    instance_id
-    ${instance_name}=    utils.getAllFieldValues    ${get_result}    instance_name
+    ${get_result}=    CORDRobot.ApiGet    TENANT_SUBSCRIBER
+    ${instance_id_fromvolt}=    CORDRobot.getAllFieldValues    ${get_result}    instance_id
+    ${instance_name}=    CORDRobot.getAllFieldValues    ${get_result}    instance_name
     ${instance_id_name}=    Catenate    SEPARATOR=-    ${instance_name}    ${instance_id_fromvolt}
-    ${get_instanceresult}=    restApi.ApiGet    CORE_INSTANCES
-    ${instanceDict}=    utils.getDictFromListofDict    ${get_instanceresult}    instance_name    ${instance_id_name}
-    ${instance_id_fromCore}=    utils.getFieldValueFromDict    ${instanceDict}    id
+    ${get_instanceresult}=    CORDRobot.ApiGet    CORE_INSTANCES
+    ${instanceDict}=    CORDRobot.getDictFromListofDict    ${get_instanceresult}    instance_name    ${instance_id_name}
+    ${instance_id_fromCore}=    CORDRobot.getFieldValueFromDict    ${instanceDict}    id
     Should Be Equal As Strings    ${instance_id_fromvolt}    ${instance_id_fromCore}
diff --git a/src/test/cord-api/Tests/SiteTest.txt b/src/test/cord-api/Tests/SiteTest.txt
index 21f4357..75599eb 100644
--- a/src/test/cord-api/Tests/SiteTest.txt
+++ b/src/test/cord-api/Tests/SiteTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -35,9 +35,9 @@
 
 *** Keywords ***
 Read InputFile
-    ${siteList}=    utils.jsonToList    ${PATHFILE}    SiteInfo
+    ${siteList}=    CORDRobot.jsonToList    ${PATHFILE}    SiteInfo
     Set Suite Variable    ${slist}    ${siteList}
-    ${putSiteList}=    utils.jsonToList    ${PATHFILE2}    SiteInfo
+    ${putSiteList}=    CORDRobot.jsonToList    ${PATHFILE2}    SiteInfo
     Set Suite Variable    ${putList}    ${putSiteList}
 
 Verify Site functionality
@@ -50,45 +50,45 @@
 Test Post Site API
     [Arguments]    ${listIndex}
     ${siteList} =    Get Variable Value    ${slist}
-    ${siteDict}=    utils.listToDict    ${siteList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CORE_SITES    ${siteDict}
+    ${siteDict}=    CORDRobot.listToDict    ${siteList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CORE_SITES    ${siteDict}
     Should Be True    ${api_result}
 
 Test Get Site API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet   CORE_SITES
+    ${json_result}=    CORDRobot.ApiGet   CORE_SITES
     Log    ${json_result}
     ${siteList}=    Get Variable Value    ${slist}
-    ${siteDict}=    utils.listToDict    ${siteList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${siteDict}   name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    name    ${name}
-    ${test_result}=    utils.compare_dict    ${siteDict}    ${getJsonDict}
+    ${siteDict}=    CORDRobot.listToDict    ${siteList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${siteDict}   name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    name    ${name}
+    ${test_result}=    CORDRobot.compare_dict    ${siteDict}    ${getJsonDict}
     Should Be True    ${test_result}
 
 Test Edit Site API
     [Arguments]    ${listIndex}
-    ${get_result}=    restApi.ApiGet    CORE_SITES
+    ${get_result}=    CORDRobot.ApiGet    CORE_SITES
     ${putSiteList}=    Get Variable Value    ${putList}
-    ${putSiteDict}=    utils.listToDict    ${putSiteList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${putSiteDict}    name
-    ${siteDict}=    utils.getDictFromListofDict    ${get_result}    name    ${name}
-    ${siteID}=    utils.getFieldValueFromDict    ${siteDict}    id
-    ${api_result}=    restApi.ApiPut    CORE_SITES    ${putSiteDict}    ${siteID}
+    ${putSiteDict}=    CORDRobot.listToDict    ${putSiteList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${putSiteDict}    name
+    ${siteDict}=    CORDRobot.getDictFromListofDict    ${get_result}    name    ${name}
+    ${siteID}=    CORDRobot.getFieldValueFromDict    ${siteDict}    id
+    ${api_result}=    CORDRobot.ApiPut    CORE_SITES    ${putSiteDict}    ${siteID}
     Should Be True    ${api_result}
-    ${getResultAfterPut}=    restApi.ApiGet    CORE_SITES    ${siteID}
-    ${test_result}=    utils.compare_dict    ${putSiteDict}    ${getResultAfterPut}
+    ${getResultAfterPut}=    CORDRobot.ApiGet    CORE_SITES    ${siteID}
+    ${test_result}=    CORDRobot.compare_dict    ${putSiteDict}    ${getResultAfterPut}
     Should Be True    ${test_result}
 
 Test Delete Site API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CORE_SITES
+    ${json_result}=    CORDRobot.ApiGet    CORE_SITES
     ${siteList}=    Get Variable Value    ${slist}
-    ${siteDict}=    utils.listToDict    ${siteList}    ${listIndex}
-    ${name}=    utils.getFieldValueFromDict    ${siteDict}    name
+    ${siteDict}=    CORDRobot.listToDict    ${siteList}    ${listIndex}
+    ${name}=    CORDRobot.getFieldValueFromDict    ${siteDict}    name
     Log    ${name}
-    ${siteDict}=    utils.getDictFromListofDict    ${json_result}    name  ${name}
+    ${siteDict}=    CORDRobot.getDictFromListofDict    ${json_result}    name  ${name}
     Log    ${siteDict}
-    ${siteId}=    utils.getFieldValueFromDict    ${siteDict}    id
+    ${siteId}=    CORDRobot.getFieldValueFromDict    ${siteDict}    id
     Log    ${siteId}
-    ${test_result}=    restApi.ApiDelete    CORE_SITES    ${siteId}
+    ${test_result}=    CORDRobot.ApiDelete    CORE_SITES    ${siteId}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/SliceTest.txt b/src/test/cord-api/Tests/SliceTest.txt
index d1cd2e9..ee7ec11 100644
--- a/src/test/cord-api/Tests/SliceTest.txt
+++ b/src/test/cord-api/Tests/SliceTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 | Variables |     ../Properties/RestApiProperties.py
 
 *** Variables ***
@@ -33,7 +33,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${sliceList} =    utils.jsonToList    ${PATHFILE}    SliceInfo
+    ${sliceList} =    CORDRobot.jsonToList    ${PATHFILE}    SliceInfo
     Set Suite Variable    ${sList}    ${sliceList}
     ${site}=    Catenate    SEPARATOR=    http://    ${IP}    :    ${PORT}    /api/core/sites/1/
     Set Suite Variable    ${site}    ${site}
@@ -49,39 +49,39 @@
 Test Post Slice API
     [Arguments]    ${listIndex}
     ${sliceList} =    Get Variable Value    ${sList}
-    ${sliceDict}=    utils.listToDict    ${sliceList}    ${listIndex}
+    ${sliceDict}=    CORDRobot.listToDict    ${sliceList}    ${listIndex}
     ${site}=    Get Variable Value    ${site}
-    ${sliceDict}=     utils.setFieldValueInDict   ${sliceDict}   site   ${site}
+    ${sliceDict}=     CORDRobot.setFieldValueInDict   ${sliceDict}   site   ${site}
     ${creator}=    Get Variable Value    ${creator}
-    ${sliceDict}=     utils.setFieldValueInDict   ${sliceDict}   creator   ${creator}
-    ${api_result}=    restApi.ApiPost    CORE_SLICES    ${sliceDict}
+    ${sliceDict}=     CORDRobot.setFieldValueInDict   ${sliceDict}   creator   ${creator}
+    ${api_result}=    CORDRobot.ApiPost    CORE_SLICES    ${sliceDict}
     Should Be True    ${api_result}
 
 Test Get Slice API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CORE_SLICES
+    ${json_result}=    CORDRobot.ApiGet    CORE_SLICES
     Log    ${json_result}
     ${sliceList}=    Get Variable Value    ${sList}
-    ${sliceDict}=    utils.listToDict    ${sliceList}    ${listIndex}
+    ${sliceDict}=    CORDRobot.listToDict    ${sliceList}    ${listIndex}
     ${site}=    Get Variable Value    ${site}
-    ${sliceDict}=     utils.setFieldValueInDict   ${sliceDict}   site   ${site}
+    ${sliceDict}=     CORDRobot.setFieldValueInDict   ${sliceDict}   site   ${site}
     ${creator}=    Get Variable Value    ${creator}
-    ${sliceDict}=     utils.setFieldValueInDict   ${sliceDict}   creator   ${creator}
-    ${ID}=    utils.getFieldValueFromDict    ${sliceDict}    id
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    id    ${ID}
-    ${test_result}=    utils.compare_dict    ${sliceDict}    ${getJsonDict}
+    ${sliceDict}=     CORDRobot.setFieldValueInDict   ${sliceDict}   creator   ${creator}
+    ${ID}=    CORDRobot.getFieldValueFromDict    ${sliceDict}    id
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    id    ${ID}
+    ${test_result}=    CORDRobot.compare_dict    ${sliceDict}    ${getJsonDict}
     Should Be True    ${json_result}
 
 Test Delete Slice API
     [Arguments]    ${listIndex}
-    ${json_getresult}=    restApi.ApiGet    CORE_SLICES
+    ${json_getresult}=    CORDRobot.ApiGet    CORE_SLICES
     ${sliceList}=    Get Variable Value    ${sList}
-    ${sliceDict}=    utils.listToDict    ${sList}    ${listIndex}
-    ${sliceName}=    utils.getFieldValueFromDict    ${sliceDict}    name
+    ${sliceDict}=    CORDRobot.listToDict    ${sList}    ${listIndex}
+    ${sliceName}=    CORDRobot.getFieldValueFromDict    ${sliceDict}    name
     Log    ${sliceName}
-    ${getSliceDict}=    utils.getDictFromListofDict    ${json_getresult}    name    ${sliceName}
+    ${getSliceDict}=    CORDRobot.getDictFromListofDict    ${json_getresult}    name    ${sliceName}
     Log    ${getSliceDict}
-    ${sliceID}=    utils.getFieldValueFromDict    ${getSliceDict}    id
+    ${sliceID}=    CORDRobot.getFieldValueFromDict    ${getSliceDict}    id
     Log    ${sliceID}
-    ${test_result}=    restApi.ApiDelete    CORE_SLICES    ${sliceID}
+    ${test_result}=    CORDRobot.ApiDelete    CORE_SLICES    ${sliceID}
     Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/SubscriberTest.txt b/src/test/cord-api/Tests/SubscriberTest.txt
index d69181e..04f272c 100644
--- a/src/test/cord-api/Tests/SubscriberTest.txt
+++ b/src/test/cord-api/Tests/SubscriberTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -46,9 +46,9 @@
 
 *** Keywords ***
 Read InputFile
-    ${subscriberList} =    utils.jsonToList    ${PATHFILE}    SubscriberInfo
+    ${subscriberList} =    CORDRobot.jsonToList    ${PATHFILE}    SubscriberInfo
     Set Suite Variable    ${slist}    ${subscriberList}
-    ${putSubscriberList}=    utils.jsonToList    ${PATHFILE2}    SubscriberInfo
+    ${putSubscriberList}=    CORDRobot.jsonToList    ${PATHFILE2}    SubscriberInfo
     Set Suite Variable    ${putList}    ${putSubscriberList}
 
 Verify Subscriber functionality
@@ -61,45 +61,45 @@
 Test Post Subscriber API
     [Arguments]    ${listIndex}
     ${subscriberList} =    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    TENANT_SUBSCRIBER    ${subscriberDict}
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    TENANT_SUBSCRIBER    ${subscriberDict}
     Should Be True    ${api_result}
 
 Test Get Subscriber API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    TENANT_SUBSCRIBER
+    ${json_result}=    CORDRobot.ApiGet    TENANT_SUBSCRIBER
     Log    ${json_result}
     ${subscriberList}=    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${AccountNum}=    utils.getFieldValueFromDict    ${subscriberDict}    account_num
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    account_num    ${AccountNum}
-    ${test_result}=    utils.compare_dict    ${subscriberDict}    ${getJsonDict}
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${AccountNum}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    account_num
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    account_num    ${AccountNum}
+    ${test_result}=    CORDRobot.compare_dict    ${subscriberDict}    ${getJsonDict}
     Should Be True    ${test_result}
 
 Test Edit Subscriber API
     [Arguments]    ${listIndex}
-    ${get_result}=    restApi.ApiGet    TENANT_SUBSCRIBER
+    ${get_result}=    CORDRobot.ApiGet    TENANT_SUBSCRIBER
     ${putSubscriberList}=    Get Variable Value    ${putList}
-    ${putSubscriberDict}=    utils.listToDict    ${putSubscriberList}    ${listIndex}
-    ${AcctNum}=    utils.getFieldValueFromDict    ${putSubscriberDict}    account_num
-    ${subscriberDict}=    utils.getDictFromListofDict    ${get_result}    account_num    ${AcctNum}
-    ${subscriberID}=    utils.getFieldValueFromDict    ${subscriberDict}    id
-    ${api_result}=    restApi.ApiPut    TENANT_SUBSCRIBER    ${putSubscriberDict}    ${subscriberID}
+    ${putSubscriberDict}=    CORDRobot.listToDict    ${putSubscriberList}    ${listIndex}
+    ${AcctNum}=    CORDRobot.getFieldValueFromDict    ${putSubscriberDict}    account_num
+    ${subscriberDict}=    CORDRobot.getDictFromListofDict    ${get_result}    account_num    ${AcctNum}
+    ${subscriberID}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    id
+    ${api_result}=    CORDRobot.ApiPut    TENANT_SUBSCRIBER    ${putSubscriberDict}    ${subscriberID}
     Should Be True    ${api_result}
-    ${getResultAfterPut}=    restApi.ApiGet    TENANT_SUBSCRIBER    ${subscriberID}
-    ${test_result}=    utils.compare_dict    ${putSubscriberDict}    ${getResultAfterPut}
+    ${getResultAfterPut}=    CORDRobot.ApiGet    TENANT_SUBSCRIBER    ${subscriberID}
+    ${test_result}=    CORDRobot.compare_dict    ${putSubscriberDict}    ${getResultAfterPut}
     Should Be True    ${test_result}
 
 Test Delete Subscriber API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    TENANT_SUBSCRIBER
+    ${json_result}=    CORDRobot.ApiGet    TENANT_SUBSCRIBER
     ${subscriberList}=    Get Variable Value    ${slist}
-    ${subscriberDict}=    utils.listToDict    ${subscriberList}    ${listIndex}
-    ${AcctNum}=    utils.getFieldValueFromDict    ${subscriberDict}    account_num
+    ${subscriberDict}=    CORDRobot.listToDict    ${subscriberList}    ${listIndex}
+    ${AcctNum}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    account_num
     Log    ${AcctNum}
-    ${subscriberDict}=    utils.getDictFromListofDict    ${json_result}    account_num    ${AcctNum}
+    ${subscriberDict}=    CORDRobot.getDictFromListofDict    ${json_result}    account_num    ${AcctNum}
     Log    ${subscriberDict}
-    ${subscriberId}=    utils.getFieldValueFromDict    ${subscriberDict}    id
+    ${subscriberId}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    id
     Log    ${subscriberId}
-    ${test_result}=    restApi.ApiDelete    TENANT_SUBSCRIBER    ${subscriberId}
+    ${test_result}=    CORDRobot.ApiDelete    TENANT_SUBSCRIBER    ${subscriberId}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/SubscriberVolt_Delete.txt b/src/test/cord-api/Tests/SubscriberVolt_Delete.txt
index 5621b24..faab026 100644
--- a/src/test/cord-api/Tests/SubscriberVolt_Delete.txt
+++ b/src/test/cord-api/Tests/SubscriberVolt_Delete.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -27,7 +27,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${voltList} =    utils.jsonToList    ${PATHFILE}    voltSubscriberInfo
+    ${voltList} =    CORDRobot.jsonToList    ${PATHFILE}    voltSubscriberInfo
     Set Suite Variable    ${vlist}    ${voltList}
 
 Verify Deletion of Subscriber and volt Tenant functionality
@@ -36,20 +36,20 @@
 
 Test Delete Subscriber and voltTenant
     [Arguments]    ${listIndex}
-    ${getSubscriber_result}=    restApi.ApiGet    TENANT_SUBSCRIBER
-    ${getVoltTenant_result}=    restApi.ApiGet    TENANT_VOLT
+    ${getSubscriber_result}=    CORDRobot.ApiGet    TENANT_SUBSCRIBER
+    ${getVoltTenant_result}=    CORDRobot.ApiGet    TENANT_VOLT
     ${voltList}=    Get Variable Value    ${vlist}
-    ${voltTenantDict}=    utils.listToDict    ${voltList}    ${listIndex}
+    ${voltTenantDict}=    CORDRobot.listToDict    ${voltList}    ${listIndex}
     ${voltDict}=    Get From Dictionary    ${voltTenantDict}    voltTenant
     ${account_num}=    Get From Dictionary    ${voltTenantDict}    account_num
-    ${subscriberDict}=    utils.getDictFromListofDict    ${getSubscriber_result}    account_num    ${account_num}
+    ${subscriberDict}=    CORDRobot.getDictFromListofDict    ${getSubscriber_result}    account_num    ${account_num}
     Log    ${subscriberDict}
-    ${subscriberId}=    utils.getFieldValueFromDict    ${subscriberDict}    id
+    ${subscriberId}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    id
     Log    ${subscriberId}
-    ${subscriber_delete_result}=    restApi.ApiDelete    TENANT_SUBSCRIBER    ${subscriberId}
+    ${subscriber_delete_result}=    CORDRobot.ApiDelete    TENANT_SUBSCRIBER    ${subscriberId}
     Should Be True    ${subscriber_delete_result}
     # Deletion of volt Tenants
-    ${getVoltDict}=    utils.getDictFromListOfDict    ${getVoltTenant_result}    subscriber    ${subscriberId}
-    ${voltID}=    utils.getFieldValueFromDict    ${getVoltDict}    id
-    ${volt_delete_result}=    restApi.ApiDelete    TENANT_VOLT    ${voltID}
+    ${getVoltDict}=    CORDRobot.getDictFromListOfDict    ${getVoltTenant_result}    subscriber    ${subscriberId}
+    ${voltID}=    CORDRobot.getFieldValueFromDict    ${getVoltDict}    id
+    ${volt_delete_result}=    CORDRobot.ApiDelete    TENANT_VOLT    ${voltID}
     Should Be True    ${volt_delete_result}
diff --git a/src/test/cord-api/Tests/Subscriber_StatusChecks.txt b/src/test/cord-api/Tests/Subscriber_StatusChecks.txt
index ae85153..eee3777 100644
--- a/src/test/cord-api/Tests/Subscriber_StatusChecks.txt
+++ b/src/test/cord-api/Tests/Subscriber_StatusChecks.txt
@@ -7,9 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Resource          ../Framework/utils/utils.robot
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Subscriber_TopDown.json
@@ -41,7 +40,7 @@
     Run Keyword And Ignore Error    Wait Until Keyword Succeeds    300s    5s    Ping Gateway    ${dst_ip}    ${dst_user}    ${dst_pass}    ${dst_gateway}
 
 Read InputFile
-    ${SubscriberList}=    utils.jsonToList    ${PATHFILE}   SubscriberInfo 
+    ${SubscriberList}=    CORDRobot.jsonToList    ${PATHFILE}   SubscriberInfo 
     Set Suite Variable    ${slist}    ${SubscriberList}
     Set Global Variable    ${Subscriber_Id}    ${EMPTY}
     Set Global Variable    ${status}    ${EMPTY}
@@ -56,14 +55,14 @@
     [Arguments]    ${listIndex}
     Set Global Variable    ${Subscriber_Id}    ${EMPTY}
     Log    ${Subscriber_Id}
-    ${json_result}=    restApi.ApiGet    VOLT_SUBSCRIBER
+    ${json_result}=    CORDRobot.ApiGet    VOLT_SUBSCRIBER
     Log    ${json_result}
     ${SubscriberList} =    Get Variable Value    ${slist}
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    ${listIndex}
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    ${listIndex}
     Log    ${SubscriberDict}
-    ${onu_device}=    utils.getFieldValueFromDict    ${subscriberDict}   onu_device
+    ${onu_device}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}   onu_device
     ${json_result_list}=    Get From dictionary    ${json_result}    items
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result_list}    onu_device    ${onu_device}
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result_list}    onu_device    ${onu_device}
     ${status}=	Get From Dictionary    ${getJsonDict}    status
     ${Subscriber_Id}=    Get From Dictionary    ${getJsonDict}   id
     Set Global Variable    ${Subscriber_Id}
@@ -74,18 +73,18 @@
 Subscriber Status Change
     [Arguments]    ${listIndex}
     ${status}=    Create Dictionary    status=enabled
-    ${api_result_status}=    restApi.ApiChameleonPut    VOLT_SUBSCRIBER    ${status}    ${Subscriber_Id}
+    ${api_result_status}=    CORDRobot.ApiChameleonPut    VOLT_SUBSCRIBER    ${status}    ${Subscriber_Id}
     Should Be True    ${api_result_status}
     Wait Until Keyword Succeeds    60s    2s    Test Ping    ${ENABLE_STATUS}    ${src_ip}    ${src_user}    ${src_pass}    ${dst_host_ip}
 
 Push MAC and IP For Subscriber
     [Arguments]    ${listIndex}
     ${SubscriberList} =    Get Variable Value    ${slist}
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    ${listIndex}
-    ${mac_address}=    utils.getFieldValueFromDict    ${subscriberDict}   mac_address
-    ${ip_address}=    utils.getFieldValueFromDict    ${subscriberDict}   ip_address
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    ${listIndex}
+    ${mac_address}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}   mac_address
+    ${ip_address}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}   ip_address
     ${input_dict}=    Create Dictionary    mac_address=${mac_address}    ip_address=${ip_address}
-    ${api_result_status}=    restApi.ApiChameleonPut    VOLT_SUBSCRIBER    ${input_dict}    ${Subscriber_Id}
+    ${api_result_status}=    CORDRobot.ApiChameleonPut    VOLT_SUBSCRIBER    ${input_dict}    ${Subscriber_Id}
     Should Be True    ${api_result_status}
     Wait Until Keyword Succeeds    60s    2s    Test Ping    ${MACIP_STATUS}    ${src_ip}    ${src_user}    ${src_pass}    ${dst_host_ip}
 
diff --git a/src/test/cord-api/Tests/Subscriber_TopDown.txt b/src/test/cord-api/Tests/Subscriber_TopDown.txt
index ce3c12d..e572421 100644
--- a/src/test/cord-api/Tests/Subscriber_TopDown.txt
+++ b/src/test/cord-api/Tests/Subscriber_TopDown.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/Subscriber_TopDown.json
@@ -21,7 +21,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${SubscriberList}=    utils.jsonToList    ${PATHFILE}   SubscriberInfo 
+    ${SubscriberList}=    CORDRobot.jsonToList    ${PATHFILE}   SubscriberInfo
     Set Suite Variable    ${slist}    ${SubscriberList}
     Set Global Variable    ${Subscriber_Id}    ${EMPTY}
 
@@ -33,8 +33,8 @@
 Post Subscriber
     [Arguments]    ${listIndex}
     ${SubscriberList} =    Get Variable Value    ${slist}
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    ${listIndex}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    VOLT_SUBSCRIBER    ${SubscriberDict}
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    ${listIndex}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    VOLT_SUBSCRIBER    ${SubscriberDict}
     Should Be True    ${api_result_status}
     ${Subscriber_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${Subscriber_Id}
@@ -42,10 +42,10 @@
 Get Subscriber
     [Arguments]    ${listIndex}
     Log    ${Subscriber_Id}
-    ${json_result}=    restApi.ApiChameleonGet    VOLT_SUBSCRIBER    ${Subscriber_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    VOLT_SUBSCRIBER    ${Subscriber_Id}
     Log    ${json_result}
     ${SubscriberList} =    Get Variable Value    ${slist}
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    ${listIndex}
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    ${listIndex}
     Log    ${SubscriberDict}
-    ${test_result}=    utils.compare_dict    ${SubscriberDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${SubscriberDict}    ${json_result}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/UISliceTest.txt b/src/test/cord-api/Tests/UISliceTest.txt
index d1cd2e9..ee7ec11 100644
--- a/src/test/cord-api/Tests/UISliceTest.txt
+++ b/src/test/cord-api/Tests/UISliceTest.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 | Variables |     ../Properties/RestApiProperties.py
 
 *** Variables ***
@@ -33,7 +33,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${sliceList} =    utils.jsonToList    ${PATHFILE}    SliceInfo
+    ${sliceList} =    CORDRobot.jsonToList    ${PATHFILE}    SliceInfo
     Set Suite Variable    ${sList}    ${sliceList}
     ${site}=    Catenate    SEPARATOR=    http://    ${IP}    :    ${PORT}    /api/core/sites/1/
     Set Suite Variable    ${site}    ${site}
@@ -49,39 +49,39 @@
 Test Post Slice API
     [Arguments]    ${listIndex}
     ${sliceList} =    Get Variable Value    ${sList}
-    ${sliceDict}=    utils.listToDict    ${sliceList}    ${listIndex}
+    ${sliceDict}=    CORDRobot.listToDict    ${sliceList}    ${listIndex}
     ${site}=    Get Variable Value    ${site}
-    ${sliceDict}=     utils.setFieldValueInDict   ${sliceDict}   site   ${site}
+    ${sliceDict}=     CORDRobot.setFieldValueInDict   ${sliceDict}   site   ${site}
     ${creator}=    Get Variable Value    ${creator}
-    ${sliceDict}=     utils.setFieldValueInDict   ${sliceDict}   creator   ${creator}
-    ${api_result}=    restApi.ApiPost    CORE_SLICES    ${sliceDict}
+    ${sliceDict}=     CORDRobot.setFieldValueInDict   ${sliceDict}   creator   ${creator}
+    ${api_result}=    CORDRobot.ApiPost    CORE_SLICES    ${sliceDict}
     Should Be True    ${api_result}
 
 Test Get Slice API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CORE_SLICES
+    ${json_result}=    CORDRobot.ApiGet    CORE_SLICES
     Log    ${json_result}
     ${sliceList}=    Get Variable Value    ${sList}
-    ${sliceDict}=    utils.listToDict    ${sliceList}    ${listIndex}
+    ${sliceDict}=    CORDRobot.listToDict    ${sliceList}    ${listIndex}
     ${site}=    Get Variable Value    ${site}
-    ${sliceDict}=     utils.setFieldValueInDict   ${sliceDict}   site   ${site}
+    ${sliceDict}=     CORDRobot.setFieldValueInDict   ${sliceDict}   site   ${site}
     ${creator}=    Get Variable Value    ${creator}
-    ${sliceDict}=     utils.setFieldValueInDict   ${sliceDict}   creator   ${creator}
-    ${ID}=    utils.getFieldValueFromDict    ${sliceDict}    id
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    id    ${ID}
-    ${test_result}=    utils.compare_dict    ${sliceDict}    ${getJsonDict}
+    ${sliceDict}=     CORDRobot.setFieldValueInDict   ${sliceDict}   creator   ${creator}
+    ${ID}=    CORDRobot.getFieldValueFromDict    ${sliceDict}    id
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    id    ${ID}
+    ${test_result}=    CORDRobot.compare_dict    ${sliceDict}    ${getJsonDict}
     Should Be True    ${json_result}
 
 Test Delete Slice API
     [Arguments]    ${listIndex}
-    ${json_getresult}=    restApi.ApiGet    CORE_SLICES
+    ${json_getresult}=    CORDRobot.ApiGet    CORE_SLICES
     ${sliceList}=    Get Variable Value    ${sList}
-    ${sliceDict}=    utils.listToDict    ${sList}    ${listIndex}
-    ${sliceName}=    utils.getFieldValueFromDict    ${sliceDict}    name
+    ${sliceDict}=    CORDRobot.listToDict    ${sList}    ${listIndex}
+    ${sliceName}=    CORDRobot.getFieldValueFromDict    ${sliceDict}    name
     Log    ${sliceName}
-    ${getSliceDict}=    utils.getDictFromListofDict    ${json_getresult}    name    ${sliceName}
+    ${getSliceDict}=    CORDRobot.getDictFromListofDict    ${json_getresult}    name    ${sliceName}
     Log    ${getSliceDict}
-    ${sliceID}=    utils.getFieldValueFromDict    ${getSliceDict}    id
+    ${sliceID}=    CORDRobot.getFieldValueFromDict    ${getSliceDict}    id
     Log    ${sliceID}
-    ${test_result}=    restApi.ApiDelete    CORE_SLICES    ${sliceID}
+    ${test_result}=    CORDRobot.ApiDelete    CORE_SLICES    ${sliceID}
     Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/Users.txt b/src/test/cord-api/Tests/Users.txt
index 1b263aa..e765d65 100644
--- a/src/test/cord-api/Tests/Users.txt
+++ b/src/test/cord-api/Tests/Users.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -36,7 +36,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${userList} =    utils.jsonToList    ${PATHFILE}    UserInfo
+    ${userList} =    CORDRobot.jsonToList    ${PATHFILE}    UserInfo
     Set Suite Variable    ${uList}    ${userList}
 
 Verify User functionality
@@ -48,31 +48,31 @@
 Test Post Users API
     [Arguments]    ${listIndex}
     ${userList} =    Get Variable Value    ${uList}
-    ${userDict}=    utils.listToDict    ${userList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    CORE_USERS    ${userDict}
+    ${userDict}=    CORDRobot.listToDict    ${userList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    CORE_USERS    ${userDict}
     Should Be True    ${api_result}
 
 Test Get Users API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    CORE_USERS
+    ${json_result}=    CORDRobot.ApiGet    CORE_USERS
     Log    ${json_result}
     ${userList}=    Get Variable Value    ${uList}
-    ${inputDict}=    utils.listToDict    ${userList}    ${listIndex}
-    ${email}=    utils.getFieldValueFromDict    ${inputDict}    email
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    email    ${email}
-    ${test_result}=    utils.compare_dict    ${inputDict}    ${getJsonDict}
+    ${inputDict}=    CORDRobot.listToDict    ${userList}    ${listIndex}
+    ${email}=    CORDRobot.getFieldValueFromDict    ${inputDict}    email
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    email    ${email}
+    ${test_result}=    CORDRobot.compare_dict    ${inputDict}    ${getJsonDict}
     Should Be True    ${json_result}
 
 Test Delete Users API
     [Arguments]    ${listIndex}
-    ${json_getresult}=    restApi.ApiGet    CORE_USERS
+    ${json_getresult}=    CORDRobot.ApiGet    CORE_USERS
     ${userList}=    Get Variable Value    ${uList}
-    ${userDict}=    utils.listToDict    ${uList}    ${listIndex}
-    ${email}=    utils.getFieldValueFromDict    ${userDict}    email
+    ${userDict}=    CORDRobot.listToDict    ${uList}    ${listIndex}
+    ${email}=    CORDRobot.getFieldValueFromDict    ${userDict}    email
     Log    ${email}
-    ${getUserDict}=    utils.getDictFromListofDict    ${json_getresult}    email    ${email}
+    ${getUserDict}=    CORDRobot.getDictFromListofDict    ${json_getresult}    email    ${email}
     Log    ${getUserDict}
-    ${userID}=    utils.getFieldValueFromDict    ${getUserDict}    id
+    ${userID}=    CORDRobot.getFieldValueFromDict    ${getUserDict}    id
     Log    ${userID}
-    ${test_result}=    restApi.ApiDelete    CORE_USERS    ${userID}
+    ${test_result}=    CORDRobot.ApiDelete    CORE_USERS    ${userID}
     Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/UtilsSynchronizer.txt b/src/test/cord-api/Tests/UtilsSynchronizer.txt
index ab158ea..1266aa8 100644
--- a/src/test/cord-api/Tests/UtilsSynchronizer.txt
+++ b/src/test/cord-api/Tests/UtilsSynchronizer.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -45,7 +45,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${syncList} =    utils.jsonToList    ${PATHFILE}    SynchronizerInfo
+    ${syncList} =    CORDRobot.jsonToList    ${PATHFILE}    SynchronizerInfo
     Set Suite Variable    ${sList}    ${syncList}
 
 Verify Utility Synchronizer functionality
@@ -57,28 +57,28 @@
 Test Post Utils Synchronizer API
     [Arguments]    ${listIndex}
     ${syncList} =    Get Variable Value    ${sList}
-    ${syncDict}=    utils.listToDict    ${syncList}    ${listIndex}
-    ${api_result}=    restApi.ApiPost    UTILS_SYNCHRONIZER    ${syncDict}
+    ${syncDict}=    CORDRobot.listToDict    ${syncList}    ${listIndex}
+    ${api_result}=    CORDRobot.ApiPost    UTILS_SYNCHRONIZER    ${syncDict}
     Should Be True    ${api_result}
 
 Test Get Utils Synchronizer API
     [Arguments]    ${listIndex}
-    ${json_result}=    restApi.ApiGet    UTILS_SYNCHRONIZER
+    ${json_result}=    CORDRobot.ApiGet    UTILS_SYNCHRONIZER
     Log    ${json_result}
     ${syncList}=    Get Variable Value    ${sList}
-    ${syncDict}=    utils.listToDict    ${syncList}    ${listIndex}
-    ${syncName}=    utils.getFieldValueFromDict    ${syncDict}    name
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${json_result}    name    ${syncName}
-    ${test_result}=    utils.compare_dict    ${syncDict}    ${getJsonDict}
+    ${syncDict}=    CORDRobot.listToDict    ${syncList}    ${listIndex}
+    ${syncName}=    CORDRobot.getFieldValueFromDict    ${syncDict}    name
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${json_result}    name    ${syncName}
+    ${test_result}=    CORDRobot.compare_dict    ${syncDict}    ${getJsonDict}
     Should Be True    ${json_result}
 
 Test Delete Utils Synchronizer API
     [Arguments]    ${listIndex}
-    ${json_getresult}=    restApi.ApiGet    UTILS_SYNCHRONIZER
+    ${json_getresult}=    CORDRobot.ApiGet    UTILS_SYNCHRONIZER
     ${syncList}=    Get Variable Value    ${sList}
-    ${syncDict}=    utils.listToDict    ${syncList}    ${listIndex}
-    ${syncName}=    utils.getFieldValueFromDict    ${syncDict}    name
-    ${getSyncDict}=    utils.getDictFromListofDict    ${json_getresult}    name    ${syncName}
-    ${syncID}=    utils.getFieldValueFromDict    ${getSyncDict}    id
-    ${test_result}=    restApi.ApiDelete    UTILS_SYNCHRONIZER    ${syncID}
+    ${syncDict}=    CORDRobot.listToDict    ${syncList}    ${listIndex}
+    ${syncName}=    CORDRobot.getFieldValueFromDict    ${syncDict}    name
+    ${getSyncDict}=    CORDRobot.getDictFromListofDict    ${json_getresult}    name    ${syncName}
+    ${syncID}=    CORDRobot.getFieldValueFromDict    ${getSyncDict}    id
+    ${test_result}=    CORDRobot.ApiDelete    UTILS_SYNCHRONIZER    ${syncID}
     Should be True    ${test_result}
diff --git a/src/test/cord-api/Tests/VOLTDevice_Test.txt b/src/test/cord-api/Tests/VOLTDevice_Test.txt
index 75444a8..653086b 100644
--- a/src/test/cord-api/Tests/VOLTDevice_Test.txt
+++ b/src/test/cord-api/Tests/VOLTDevice_Test.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/VOLTDevice.json
@@ -56,13 +56,13 @@
 
 *** Keywords ***
 Read InputFile
-    ${voltDeviceList}=    utils.jsonToList    ${PATHFILE}    VOLTDeviceInfo
+    ${voltDeviceList}=    CORDRobot.jsonToList    ${PATHFILE}    VOLTDeviceInfo
     Set Suite Variable    ${dlist}    ${voltDeviceList}
     Set Global Variable    ${VOLTDevice_Id}    ${EMPTY}
-    ${PONPortList}=    utils.jsonToList    ${PATHFILE1}    PONPortInfo
+    ${PONPortList}=    CORDRobot.jsonToList    ${PATHFILE1}    PONPortInfo
     Set Suite Variable    ${plist}    ${PONPortList}
     Set Suite Variable    ${PONPort_Id}    ${EMPTY}
-    ${ONUDeviceList}=    utils.jsonToList    ${PATHFILE2}    ONUDeviceInfo
+    ${ONUDeviceList}=    CORDRobot.jsonToList    ${PATHFILE2}    ONUDeviceInfo
     Set Suite Variable    ${nlist}    ${ONUDeviceList}
     Set Suite Variable    ${ONUDevice_Id}    ${EMPTY}
 
@@ -79,14 +79,14 @@
 Test Post VOLT Device API
     [Arguments]    ${listIndex}
     ${voltDeviceList} =    Get Variable Value    ${dlist}
-    ${voltDeviceDict}=    utils.listToDict    ${voltDeviceList}    ${listIndex}
-    ${api_getResult}=    restApi.ApiGet    VOLT_SERVICE
+    ${voltDeviceDict}=    CORDRobot.listToDict    ${voltDeviceList}    ${listIndex}
+    ${api_getResult}=    CORDRobot.ApiGet    VOLT_SERVICE
     ${voltServiceList}=    Get From Dictionary    ${api_getResult}    items
-    ${voltServiceDict}=    utils.getDictFromListOfDict    ${voltServiceList}    leaf_model_name    VOLTService
+    ${voltServiceDict}=    CORDRobot.getDictFromListOfDict    ${voltServiceList}    leaf_model_name    VOLTService
     ${VOLTService_Id}=    Get From Dictionary    ${voltServiceDict}    id
-    ${voltDeviceDict}=    utils.setFieldValueInDict    ${voltDeviceDict}    volt_service_id    ${VOLTService_Id}
+    ${voltDeviceDict}=    CORDRobot.setFieldValueInDict    ${voltDeviceDict}    volt_service_id    ${VOLTService_Id}
     Log    ${voltDeviceDict}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    VOLT_DEVICE    ${voltDeviceDict}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    VOLT_DEVICE    ${voltDeviceDict}
     Should Be True    ${api_result_status}
     ${VOLTDevice_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${VOLTDevice_Id}
@@ -94,20 +94,20 @@
 Test Get VOLT Device API
     [Arguments]    ${listIndex}
     Log    ${VOLTDevice_Id}
-    ${json_result}=    restApi.ApiChameleonGet    VOLT_DEVICE    ${VOLTDevice_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    VOLT_DEVICE    ${VOLTDevice_Id}
     Log    ${json_result}
     ${voltDeviceList} =    Get Variable Value    ${dlist}
-    ${voltDeviceDict}=    utils.listToDict    ${voltDeviceList}    ${listIndex}
+    ${voltDeviceDict}=    CORDRobot.listToDict    ${voltDeviceList}    ${listIndex}
     Log    ${voltDeviceDict}
-    ${test_result}=    utils.compare_dict    ${voltDeviceDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${voltDeviceDict}    ${json_result}
     Should Be True    ${test_result}
 
 Test Post PONPort API
     [Arguments]    ${listIndex}
     ${PONPortList} =    Get Variable Value    ${plist}
-    ${PONPortDict}=    utils.listToDict    ${PONPortList}    ${listIndex}
-    ${PONPortDict}=    utils.setFieldValueInDict    ${PONPortDict}    olt_device_id    ${VOLTDevice_Id}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    PON_PORT    ${PONPortDict}
+    ${PONPortDict}=    CORDRobot.listToDict    ${PONPortList}    ${listIndex}
+    ${PONPortDict}=    CORDRobot.setFieldValueInDict    ${PONPortDict}    olt_device_id    ${VOLTDevice_Id}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    PON_PORT    ${PONPortDict}
     Should Be True    ${api_result_status}
     ${PONPort_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${PONPort_Id}
@@ -115,20 +115,20 @@
 Test Get PONPort API
     [Arguments]    ${listIndex}
     Log    ${PONPort_Id}
-    ${json_result}=    restApi.ApiChameleonGet    PON_PORT    ${PONPort_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    PON_PORT    ${PONPort_Id}
     Log    ${json_result}
     ${PONPortList} =    Get Variable Value    ${plist}
-    ${PONPortDict}=    utils.listToDict    ${PONPortList}    ${listIndex}
+    ${PONPortDict}=    CORDRobot.listToDict    ${PONPortList}    ${listIndex}
     Log    ${PONPortDict}
-    ${test_result}=    utils.compare_dict    ${PONPortDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${PONPortDict}    ${json_result}
     Should Be True    ${test_result}
 
 Test Post ONUDevice API
     [Arguments]    ${listIndex}
     ${ONUDeviceList}=    Get Variable Value    ${nlist}
-    ${ONUDeviceDict}=    utils.listToDict    ${ONUDeviceList}    ${listIndex}
-    ${ONUDeviceDict}=    utils.setFieldValueInDict    ${ONUDeviceDict}    pon_port_id    ${PONPort_Id}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    ONU_DEVICE    ${ONUDeviceDict}
+    ${ONUDeviceDict}=    CORDRobot.listToDict    ${ONUDeviceList}    ${listIndex}
+    ${ONUDeviceDict}=    CORDRobot.setFieldValueInDict    ${ONUDeviceDict}    pon_port_id    ${PONPort_Id}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    ONU_DEVICE    ${ONUDeviceDict}
     Should Be True    ${api_result_status}
     ${ONUDevice_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${ONUDevice_Id}
@@ -136,15 +136,15 @@
 Test Get ONUDevice API
     [Arguments]    ${listIndex}
     Log    ${ONUDevice_Id}
-    ${json_result}=    restApi.ApiChameleonGet    ONU_DEVICE    ${ONUDevice_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    ONU_DEVICE    ${ONUDevice_Id}
     Log    ${json_result}
     ${ONUDeviceList} =    Get Variable Value    ${nlist}
-    ${ONUDeviceDict}=    utils.listToDict    ${ONUDeviceList}    ${listIndex}
+    ${ONUDeviceDict}=    CORDRobot.listToDict    ${ONUDeviceList}    ${listIndex}
     Log    ${ONUDeviceDict}
-    ${test_result}=    utils.compare_dict    ${ONUDeviceDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${ONUDeviceDict}    ${json_result}
     Should Be True    ${test_result}
 
 Test Delete VOLT Device API
     [Arguments]    ${listIndex}
-    ${test_result}=    restApi.ApiChameleonDelete    VOLT_DEVICE    ${VOLTDevice_Id}
+    ${test_result}=    CORDRobot.ApiChameleonDelete    VOLT_DEVICE    ${VOLTDevice_Id}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/VoltTenant.txt b/src/test/cord-api/Tests/VoltTenant.txt
index 136cae6..2b2e7bd 100644
--- a/src/test/cord-api/Tests/VoltTenant.txt
+++ b/src/test/cord-api/Tests/VoltTenant.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -25,9 +25,9 @@
 
 *** Keywords ***
 Read InputFile
-    ${voltList} =    utils.jsonToList    ${PATHFILE}    voltSubscriberInfo
+    ${voltList} =    CORDRobot.jsonToList    ${PATHFILE}    voltSubscriberInfo
     Set Suite Variable    ${vlist}    ${voltList}
-    ${putvoltList}=    utils.jsonToList    ${PATHFILE2}    voltSubscriberInfo
+    ${putvoltList}=    CORDRobot.jsonToList    ${PATHFILE2}    voltSubscriberInfo
     Set Suite Variable    ${putList}    ${putvoltList}
 
 Verify volt Tenant Functionality
@@ -37,29 +37,29 @@
 Test Post volt Tenant API
     [Arguments]    ${listIndex}
     ${voltTenantList} =    Get Variable Value    ${vlist}
-    ${voltTenantDict}=    utils.listToDict    ${voltTenantList}    ${listIndex}
+    ${voltTenantDict}=    CORDRobot.listToDict    ${voltTenantList}    ${listIndex}
     ${voltDict}=    Get From Dictionary    ${voltTenantDict}    voltTenant
     ${account_num}=    Get From Dictionary    ${voltTenantDict}    account_num
-    ${get_result}=    restApi.ApiGet    TENANT_SUBSCRIBER
-    ${subscriberDict}=    utils.getDictFromListofDict    ${get_result}    account_num    ${account_num}
-    ${subscriberID}=    utils.getFieldValueFromDict    ${subscriberDict}    id
-    ${updatedVoltDict}=    utils.setFieldValueInDict    ${voltDict}    subscriber    ${subscriberID}
-    ${api_result}=    restApi.ApiPost    TENANT_VOLT    ${updatedVoltDict}
+    ${get_result}=    CORDRobot.ApiGet    TENANT_SUBSCRIBER
+    ${subscriberDict}=    CORDRobot.getDictFromListofDict    ${get_result}    account_num    ${account_num}
+    ${subscriberID}=    CORDRobot.getFieldValueFromDict    ${subscriberDict}    id
+    ${updatedVoltDict}=    CORDRobot.setFieldValueInDict    ${voltDict}    subscriber    ${subscriberID}
+    ${api_result}=    CORDRobot.ApiPost    TENANT_VOLT    ${updatedVoltDict}
     Should Be True    ${api_result}
     # Verifying Get operation after POST
-    ${getVolt_result}=    restApi.ApiGet    TENANT_VOLT
-    ${getJsonDict}=    utils.getDictFromListOfDict    ${getVolt_result}    subscriber    ${subscriberID}
-    ${test_result}=    utils.compare_dict    ${voltDict}    ${getJsonDict}
+    ${getVolt_result}=    CORDRobot.ApiGet    TENANT_VOLT
+    ${getJsonDict}=    CORDRobot.getDictFromListOfDict    ${getVolt_result}    subscriber    ${subscriberID}
+    ${test_result}=    CORDRobot.compare_dict    ${voltDict}    ${getJsonDict}
     Should Be True    ${test_result}
     # Verifying PUT operation
     ${putvoltList}=    Get Variable Value    ${putList}
-    ${putVoltDict}=    utils.listToDict    ${putvoltList}    ${listIndex}
+    ${putVoltDict}=    CORDRobot.listToDict    ${putvoltList}    ${listIndex}
     ${putvoltTenantDict}=    Get From Dictionary    ${putVoltDict}    voltTenant
-    ${voltID}=    utils.getFieldValueFromDict    ${getJsonDict}    id
-    ${put_result}=    restApi.ApiPut    TENANT_VOLT    ${putvoltTenantDict}    ${voltID}
+    ${voltID}=    CORDRobot.getFieldValueFromDict    ${getJsonDict}    id
+    ${put_result}=    CORDRobot.ApiPut    TENANT_VOLT    ${putvoltTenantDict}    ${voltID}
     Should Be True    ${put_result}
     # Verifying Get after PUT operation
-    ${getVolt_afterPut}=    restApi.ApiGet    TENANT_VOLT
-    ${getVoltDict}=    utils.getDictFromListofDict    ${getVolt_afterPut}    id    ${voltID}
-    ${result_afterPut}=    utils.compare_dict    ${putvoltTenantDict}    ${getVoltDict}
+    ${getVolt_afterPut}=    CORDRobot.ApiGet    TENANT_VOLT
+    ${getVoltDict}=    CORDRobot.getDictFromListofDict    ${getVolt_afterPut}    id    ${voltID}
+    ${result_afterPut}=    CORDRobot.compare_dict    ${putvoltTenantDict}    ${getVoltDict}
     Should Be True    ${result_afterPut}
diff --git a/src/test/cord-api/Tests/WorkflowValidations/ATTWhiteList.txt b/src/test/cord-api/Tests/WorkflowValidations/ATTWhiteList.txt
index 6ff873c..a984f5c 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/ATTWhiteList.txt
+++ b/src/test/cord-api/Tests/WorkflowValidations/ATTWhiteList.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../../Framework/utils/utils.py
-Library           ../../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/ATTWhiteList.json
@@ -21,7 +21,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${AttWhiteListList}=    utils.jsonToList    ${PATHFILE}   AttWhiteListInfo 
+    ${AttWhiteListList}=    CORDRobot.jsonToList    ${PATHFILE}   AttWhiteListInfo
     Set Suite Variable    ${slist}    ${AttWhiteListList}
     Set Global Variable    ${AttWorkFlowDriver_Id}    ${EMPTY}
     Set Global Variable    ${AttWhiteList_Id}    ${EMPTY}
@@ -34,15 +34,15 @@
 Post White List
     [Arguments]    ${listIndex}
     ${AttWhiteListList} =    Get Variable Value    ${slist}
-    ${AttWhiteListDict}=    utils.listToDict    ${AttWhiteListList}    ${listIndex}
+    ${AttWhiteListDict}=    CORDRobot.listToDict    ${AttWhiteListList}    ${listIndex}
     # Retrieve ATT Service Driver Id
-    ${api_getResult}=    restApi.ApiGet    ATT_SERVICE
+    ${api_getResult}=    CORDRobot.ApiGet    ATT_SERVICE
     ${AttWorkFlowDriverList}=    Get From Dictionary    ${api_getResult}    items
-    ${AttWorkFlowDriverDict}=    utils.getDictFromListOfDict    ${AttWorkFlowDriverList}    leaf_model_name    AttWorkflowDriverService
+    ${AttWorkFlowDriverDict}=    CORDRobot.getDictFromListOfDict    ${AttWorkFlowDriverList}    leaf_model_name    AttWorkflowDriverService
     ${AttWorkFlowDriver_Id}=    Get From Dictionary    ${AttWorkFlowDriverDict}    id
-    ${AttWhiteListDict}=    utils.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${AttWorkFlowDriver_Id}
+    ${AttWhiteListDict}=    CORDRobot.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${AttWorkFlowDriver_Id}
     Log    ${AttWhiteListDict}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    ATT_WHITELIST    ${AttWhiteListDict}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    ATT_WHITELIST    ${AttWhiteListDict}
     Should Be True    ${api_result_status}
     ${AttWhiteList_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${AttWhiteList_Id}
@@ -50,10 +50,10 @@
 Get White List
     [Arguments]    ${listIndex}
     Log    ${AttWhiteList_Id}
-    ${json_result}=    restApi.ApiChameleonGet    ATT_WHITELIST    ${AttWhiteList_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    ATT_WHITELIST    ${AttWhiteList_Id}
     Log    ${json_result}
     ${AttWhiteListList} =    Get Variable Value    ${slist}
-    ${AttWhiteListDict}=    utils.listToDict    ${AttWhiteListList}    ${listIndex}
+    ${AttWhiteListDict}=    CORDRobot.listToDict    ${AttWhiteListList}    ${listIndex}
     Log    ${AttWhiteListDict}
-    ${test_result}=    utils.compare_dict    ${AttWhiteListDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${AttWhiteListDict}    ${json_result}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/WorkflowValidations/ATTWorkFlowDriver.txt b/src/test/cord-api/Tests/WorkflowValidations/ATTWorkFlowDriver.txt
index 6254777..781efa8 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/ATTWorkFlowDriver.txt
+++ b/src/test/cord-api/Tests/WorkflowValidations/ATTWorkFlowDriver.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../../Framework/utils/utils.py
-Library           ../../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/ATTWorkFlowDriver.json
@@ -21,7 +21,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${AttWorkFlowList}=    utils.jsonToList    ${PATHFILE}   AttWorkFlowDriverInfo 
+    ${AttWorkFlowList}=    CORDRobot.jsonToList    ${PATHFILE}   AttWorkFlowDriverInfo 
     Set Suite Variable    ${slist}    ${AttWorkFlowList}
     Set Global Variable    ${AttWorkFlowDriver_Id}    ${EMPTY}
 
@@ -33,8 +33,8 @@
 Post ATT Driver
     [Arguments]    ${listIndex}
     ${AttWorkFlowList} =    Get Variable Value    ${slist}
-    ${AttWorkFlowDriverDict}=    utils.listToDict    ${AttWorkFlowList}    ${listIndex}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    ATT_SERVICE    ${AttWorkFlowDriverDict}
+    ${AttWorkFlowDriverDict}=    CORDRobot.listToDict    ${AttWorkFlowList}    ${listIndex}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    ATT_SERVICE    ${AttWorkFlowDriverDict}
     Should Be True    ${api_result_status}
     ${AttWorkFlowDriver_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${AttWorkFlowDriver_Id}
@@ -42,10 +42,10 @@
 Get ATT Driver
     [Arguments]    ${listIndex}
     Log    ${AttWorkFlowDriver_Id}
-    ${json_result}=    restApi.ApiChameleonGet    ATT_SERVICE    ${AttWorkFlowDriver_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    ATT_SERVICE    ${AttWorkFlowDriver_Id}
     Log    ${json_result}
     ${AttWorkFlowList} =    Get Variable Value    ${slist}
-    ${AttWorkFlowDriverDict}=    utils.listToDict    ${AttWorkFlowList}    ${listIndex}
+    ${AttWorkFlowDriverDict}=    CORDRobot.listToDict    ${AttWorkFlowList}    ${listIndex}
     Log    ${AttWorkFlowDriverDict}
-    ${test_result}=    utils.compare_dict    ${AttWorkFlowDriverDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${AttWorkFlowDriverDict}    ${json_result}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/WorkflowValidations/ATT_FabricConfig.txt b/src/test/cord-api/Tests/WorkflowValidations/ATT_FabricConfig.txt
index beb277a..a211672 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/ATT_FabricConfig.txt
+++ b/src/test/cord-api/Tests/WorkflowValidations/ATT_FabricConfig.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../../Framework/utils/utils.py
-Library           ../../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}        ../data/FabricSwitch.json
@@ -30,10 +30,10 @@
 
 *** Keywords ***
 Read InputFile
-    ${FabricList}=    utils.jsonToList    ${PATHFILE}   FabricSwitchInfo
+    ${FabricList}=    CORDRobot.jsonToList    ${PATHFILE}   FabricSwitchInfo
     Set Suite Variable    ${dlist}    ${FabricList}
     Set Global Variable    ${Fabric_Id}    ${EMPTY}
-    ${FabricPortList}=    utils.jsonToList    ${PATHFILE1}   FabricSwitchPort
+    ${FabricPortList}=    CORDRobot.jsonToList    ${PATHFILE1}   FabricSwitchPort
     Set Suite Variable    ${plist}    ${FabricPortList}
     Set Global Variable    ${SwitchPort_Id}    ${EMPTY}
 
@@ -47,8 +47,8 @@
 Test Create Fabric Switch
     [Arguments]    ${listIndex}
     ${FabricList} =    Get Variable Value    ${dlist}
-    ${FabricDict}=    utils.listToDict    ${FabricList}    ${listIndex}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    FABRIC_SWITCH    ${FabricDict}
+    ${FabricDict}=    CORDRobot.listToDict    ${FabricList}    ${listIndex}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    FABRIC_SWITCH    ${FabricDict}
     Should Be True    ${api_result_status}
     ${Fabric_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${Fabric_Id}
@@ -56,20 +56,20 @@
 Test Get Fabric Switch
     [Arguments]    ${listIndex}
     Log    ${Fabric_Id}
-    ${json_result}=    restApi.ApiChameleonGet    FABRIC_SWITCH    ${Fabric_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    FABRIC_SWITCH    ${Fabric_Id}
     Log    ${json_result}
     ${FabricList} =    Get Variable Value    ${dlist}
-    ${FabricDict}=    utils.listToDict    ${FabricList}    ${listIndex}
+    ${FabricDict}=    CORDRobot.listToDict    ${FabricList}    ${listIndex}
     Log    ${FabricDict}
-    ${test_result}=    utils.compare_dict    ${FabricDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${FabricDict}    ${json_result}
     Should Be True    ${test_result}
 
 Test Create Switch Port API
     [Arguments]    ${listIndex}
     ${SwitchPortList} =    Get Variable Value    ${plist}
-    ${SwitchPortDict}=    utils.listToDict    ${SwitchPortList}    ${listIndex}
-    ${SwitchPortDict}=    utils.setFieldValueInDict    ${SwitchPortDict}    switch_id    ${Fabric_Id}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    SWITCH_PORT    ${SwitchPortDict}
+    ${SwitchPortDict}=    CORDRobot.listToDict    ${SwitchPortList}    ${listIndex}
+    ${SwitchPortDict}=    CORDRobot.setFieldValueInDict    ${SwitchPortDict}    switch_id    ${Fabric_Id}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    SWITCH_PORT    ${SwitchPortDict}
     Should Be True    ${api_result_status}
     ${SwitchPort_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${SwitchPort_Id}
@@ -77,10 +77,10 @@
 Test Get Switch Port API
     [Arguments]    ${listIndex}
     Log    ${SwitchPort_Id}
-    ${json_result}=    restApi.ApiChameleonGet    SWITCH_PORT    ${SwitchPort_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    SWITCH_PORT    ${SwitchPort_Id}
     Log    ${json_result}
     ${SwitchPortList} =    Get Variable Value    ${plist}
-    ${SwitchPortDict}=    utils.listToDict    ${SwitchPortList}    ${listIndex}
+    ${SwitchPortDict}=    CORDRobot.listToDict    ${SwitchPortList}    ${listIndex}
     Log    ${SwitchPortDict}
-    ${test_result}=    utils.compare_dict    ${SwitchPortDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${SwitchPortDict}    ${json_result}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/WorkflowValidations/ATT_Test001.robot b/src/test/cord-api/Tests/WorkflowValidations/ATT_Test001.robot
index 12359d8..7bc579a 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/ATT_Test001.robot
+++ b/src/test/cord-api/Tests/WorkflowValidations/ATT_Test001.robot
@@ -23,17 +23,9 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           /home/cord/voltha/tests/atests/common/testCaseUtils.py
-Library           ../../Framework/utils/utils.py
-Resource          ../../Framework/utils/utils.robot
-Library           ../../Framework/restApi.py
-Resource          ../../Framework/Subscriber.robot
-Resource          ../../Framework/ATTWorkFlowDriver.robot
-Resource          ../../Framework/Kubernetes.robot
-Resource          ../../Framework/ONU.robot
-Resource          ../../Framework/OLT.robot
-Resource          ../../Framework/DHCP.robot
-Variables         ../../Properties/RestApiProperties.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
+ariables         ../../Properties/RestApiProperties.py
 
 *** Variables ***
 ${POD_NAME}                 flex-pod1-olt
@@ -314,19 +306,19 @@
     Create Session    ${server_ip}    http://${server_ip}:${server_port}    auth=${AUTH}    headers=${HEADERS}
     ${att_workflow_service_id}=    Get Service Owner Id    ${ATT_SERVICE}
     ${volt_service_id}=    Get Service Owner Id    ${VOLT_SERVICE}
-    ${AttWhiteListList}=    utils.jsonToList    ${WHITELIST_PATHFILE}   AttWhiteListInfo
+    ${AttWhiteListList}=    CORDRobot.jsonToList    ${WHITELIST_PATHFILE}   AttWhiteListInfo
     Set Suite Variable    ${AttWhiteListList}
-    ${AttWhiteListDict}=    utils.listToDict    ${AttWhiteListList}    0
-    ${AttWhiteListDict}=    utils.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${att_workflow_service_id}
+    ${AttWhiteListDict}=    CORDRobot.listToDict    ${AttWhiteListList}    0
+    ${AttWhiteListDict}=    CORDRobot.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${att_workflow_service_id}
     ${onu_location}=   Get From Dictionary    ${AttWhiteListDict}    pon_port_id
     Set Global Variable    ${onu_location}
-    ${SubscriberList}=    utils.jsonToList    ${SUBSCRIBER_PATHFILE}   SubscriberInfo
+    ${SubscriberList}=    CORDRobot.jsonToList    ${SUBSCRIBER_PATHFILE}   SubscriberInfo
     Set Global Variable    ${SubscriberList}
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    0
-    ${s_tag}=    utils.getFieldValueFromDict    ${SubscriberDict}   s_tag
-    ${c_tag}=    utils.getFieldValueFromDict    ${SubscriberDict}   c_tag
-    ${VoltDeviceList}=    utils.jsonToList    ${VOLT_DEVICE_PATHFILE}   VOLTDeviceInfo
-    ${VoltDeviceDict}=    utils.setFieldValueInDict    ${VoltDeviceList[0]}    volt_service_id    ${volt_service_id}
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    0
+    ${s_tag}=    CORDRobot.getFieldValueFromDict    ${SubscriberDict}   s_tag
+    ${c_tag}=    CORDRobot.getFieldValueFromDict    ${SubscriberDict}   c_tag
+    ${VoltDeviceList}=    CORDRobot.jsonToList    ${VOLT_DEVICE_PATHFILE}   VOLTDeviceInfo
+    ${VoltDeviceDict}=    CORDRobot.setFieldValueInDict    ${VoltDeviceList[0]}    volt_service_id    ${volt_service_id}
     Set Global Variable    ${VoltDeviceList}
     Set Global Variable    ${VoltDeviceDict}
     Set Suite Variable    ${s_tag}
@@ -401,7 +393,7 @@
     Wait Until Keyword Succeeds    120s    10s    Openolt is Up    ${olt_ip}    ${olt_user}    ${olt_pass}
 
 Create Whitelist
-    ${AttWhiteListDict}=    utils.listToDict    ${AttWhiteListList}    0
+    ${AttWhiteListDict}=    CORDRobot.listToDict    ${AttWhiteListList}    0
     CORD Post    ${ATT_WHITELIST}    ${AttWhiteListDict}
 
 Remove Whitelist
@@ -417,7 +409,7 @@
     CORD Put    ${ATT_WHITELIST}    {"pon_port_id": ${onu_location} }    ${whitelist_id}
 
 Create Subscriber
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    0
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    0
     Wait Until Keyword Succeeds    120s    15s    CORD Post    ${VOLT_SUBSCRIBER}    ${SubscriberDict}
 
 Remove Subscriber
diff --git a/src/test/cord-api/Tests/WorkflowValidations/ATT_Test001_Optimized.robot b/src/test/cord-api/Tests/WorkflowValidations/ATT_Test001_Optimized.robot
index 9c5b318..607d670 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/ATT_Test001_Optimized.robot
+++ b/src/test/cord-api/Tests/WorkflowValidations/ATT_Test001_Optimized.robot
@@ -23,16 +23,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           /home/cord/voltha/tests/atests/common/testCaseUtils.py
-Library           ../../Framework/utils/utils.py
-Resource          ../../Framework/utils/utils.robot
-Library           ../../Framework/restApi.py
-Resource          ../../Framework/Subscriber.robot
-Resource          ../../Framework/ATTWorkFlowDriver.robot
-Resource          ../../Framework/Kubernetes.robot
-Resource          ../../Framework/ONU.robot
-Resource          ../../Framework/OLT.robot
-Resource          ../../Framework/DHCP.robot
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../../Properties/RestApiProperties.py
 
 *** Variables ***
@@ -288,21 +280,21 @@
     Create Session    ${server_ip}    http://${server_ip}:${server_port}    auth=${AUTH}    headers=${HEADERS}
     ${att_workflow_service_id}=    Get Service Owner Id    ${ATT_SERVICE}
     ${volt_service_id}=    Get Service Owner Id    ${VOLT_SERVICE}
-    ${AttWhiteListList}=    utils.jsonToList    ${WHITELIST_PATHFILE}   AttWhiteListInfo
+    ${AttWhiteListList}=    CORDRobot.jsonToList    ${WHITELIST_PATHFILE}   AttWhiteListInfo
     Set Suite Variable    ${AttWhiteListList}
-    ${AttWhiteListDict}=    utils.listToDict    ${AttWhiteListList}    0
-    ${AttWhiteListDict}=    utils.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${att_workflow_service_id}
+    ${AttWhiteListDict}=    CORDRobot.listToDict    ${AttWhiteListList}    0
+    ${AttWhiteListDict}=    CORDRobot.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${att_workflow_service_id}
     ${onu_device}=   Get From Dictionary    ${AttWhiteListDict}    serial_number
     Set Global Variable    ${onu_device}
     ${onu_location}=   Get From Dictionary    ${AttWhiteListDict}    pon_port_id
     Set Global Variable    ${onu_location}
-    ${SubscriberList}=    utils.jsonToList    ${SUBSCRIBER_PATHFILE}   SubscriberInfo
+    ${SubscriberList}=    CORDRobot.jsonToList    ${SUBSCRIBER_PATHFILE}   SubscriberInfo
     Set Global Variable    ${SubscriberList}
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    0
-    ${s_tag}=    utils.getFieldValueFromDict    ${SubscriberDict}   s_tag
-    ${c_tag}=    utils.getFieldValueFromDict    ${SubscriberDict}   c_tag
-    ${VoltDeviceList}=    utils.jsonToList    ${VOLT_DEVICE_PATHFILE}   VOLTDeviceInfo
-    ${VoltDeviceDict}=    utils.setFieldValueInDict    ${VoltDeviceList[0]}    volt_service_id    ${volt_service_id}
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    0
+    ${s_tag}=    CORDRobot.getFieldValueFromDict    ${SubscriberDict}   s_tag
+    ${c_tag}=    CORDRobot.getFieldValueFromDict    ${SubscriberDict}   c_tag
+    ${VoltDeviceList}=    CORDRobot.jsonToList    ${VOLT_DEVICE_PATHFILE}   VOLTDeviceInfo
+    ${VoltDeviceDict}=    CORDRobot.setFieldValueInDict    ${VoltDeviceList[0]}    volt_service_id    ${volt_service_id}
     Set Global Variable    ${VoltDeviceList}
     Set Global Variable    ${VoltDeviceDict}
     Set Suite Variable    ${s_tag}
@@ -403,7 +395,7 @@
     Wait Until Keyword Succeeds    120s    10s    Openolt is Up    ${olt_ip}    ${olt_user}    ${olt_pass}
 
 Create Whitelist
-    ${AttWhiteListDict}=    utils.listToDict    ${AttWhiteListList}    0
+    ${AttWhiteListDict}=    CORDRobot.listToDict    ${AttWhiteListList}    0
     CORD Post    ${ATT_WHITELIST}    ${AttWhiteListDict}
 
 Remove Whitelist
@@ -419,7 +411,7 @@
     CORD Put    ${ATT_WHITELIST}    {"pon_port_id": ${onu_location} }    ${whitelist_id}
 
 Create Subscriber
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    0
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    0
     Wait Until Keyword Succeeds    120s    15s    CORD Post    ${VOLT_SUBSCRIBER}    ${SubscriberDict}
 
 Remove Subscriber
diff --git a/src/test/cord-api/Tests/WorkflowValidations/ATT_Test002.robot b/src/test/cord-api/Tests/WorkflowValidations/ATT_Test002.robot
index e4b1c63..2acdd49 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/ATT_Test002.robot
+++ b/src/test/cord-api/Tests/WorkflowValidations/ATT_Test002.robot
@@ -23,16 +23,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           /home/ubuntu/voltha/tests/atests/common/testCaseUtils.py
-Library           ../../Framework/utils/utils.py
-Resource          ../../Framework/utils/utils.robot
-Library           ../../Framework/restApi.py
-Resource          ../../Framework/Subscriber.robot
-Resource          ../../Framework/ATTWorkFlowDriver.robot
-Resource          ../../Framework/Kubernetes.robot
-Resource          ../../Framework/ONU.robot
-Resource          ../../Framework/OLT.robot
-Resource          ../../Framework/DHCP.robot
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../../Properties/RestApiProperties.py
 
 *** Variables ***
@@ -126,20 +118,20 @@
     Create Session    ${server_ip}    http://${server_ip}:${server_port}    auth=${AUTH}    headers=${HEADERS}
     ${att_workflow_service_id}=    Get Service Owner Id    ${ATT_SERVICE}
     ${volt_service_id}=    Get Service Owner Id    ${VOLT_SERVICE}
-    ${AttWhiteListList}=    utils.jsonToList    ${WHITELIST_PATHFILE}   AttWhiteListInfo
+    ${AttWhiteListList}=    CORDRobot.jsonToList    ${WHITELIST_PATHFILE}   AttWhiteListInfo
     Set Suite Variable    ${AttWhiteListList}
-    ${AttWhiteListDict}=    utils.listToDict    ${AttWhiteListList}    0
-    ${AttWhiteListDict}=    utils.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${att_workflow_service_id}
+    ${AttWhiteListDict}=    CORDRobot.listToDict    ${AttWhiteListList}    0
+    ${AttWhiteListDict}=    CORDRobot.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${att_workflow_service_id}
     Set Suite Variable    ${att_workflow_service_id}
     ${onu_location}=   Get From Dictionary    ${AttWhiteListDict}    pon_port_id
     Set Global Variable    ${onu_location}
-    ${SubscriberList}=    utils.jsonToList    ${SUBSCRIBER_PATHFILE}   SubscriberInfo
+    ${SubscriberList}=    CORDRobot.jsonToList    ${SUBSCRIBER_PATHFILE}   SubscriberInfo
     Set Global Variable    ${SubscriberList}
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    0
-    ${s_tag}=    utils.getFieldValueFromDict    ${SubscriberDict}   s_tag
-    ${c_tag}=    utils.getFieldValueFromDict    ${SubscriberDict}   c_tag
-    ${VoltDeviceList}=    utils.jsonToList    ${VOLT_DEVICE_PATHFILE}   VOLTDeviceInfo
-    ${VoltDeviceDict}=    utils.setFieldValueInDict    ${VoltDeviceList[0]}    volt_service_id    ${volt_service_id}
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    0
+    ${s_tag}=    CORDRobot.getFieldValueFromDict    ${SubscriberDict}   s_tag
+    ${c_tag}=    CORDRobot.getFieldValueFromDict    ${SubscriberDict}   c_tag
+    ${VoltDeviceList}=    CORDRobot.jsonToList    ${VOLT_DEVICE_PATHFILE}   VOLTDeviceInfo
+    ${VoltDeviceDict}=    CORDRobot.setFieldValueInDict    ${VoltDeviceList[0]}    volt_service_id    ${volt_service_id}
     Set Global Variable    ${VoltDeviceList}
     Set Global Variable    ${VoltDeviceDict}
     Set Suite Variable    ${s_tag}
@@ -217,8 +209,8 @@
 
 Create Whitelist
     [Arguments]    ${index_id}
-    ${AttWhiteListDict}=    utils.listToDict    ${AttWhiteListList}    ${index_id}
-    ${AttWhiteListDict}=    utils.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${att_workflow_service_id}
+    ${AttWhiteListDict}=    CORDRobot.listToDict    ${AttWhiteListList}    ${index_id}
+    ${AttWhiteListDict}=    CORDRobot.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${att_workflow_service_id}
     CORD Post    ${ATT_WHITELIST}    ${AttWhiteListDict}
 
 Remove Whitelist
@@ -239,7 +231,7 @@
 
 Create Subscriber
     [Arguments]    ${index_id}
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    ${index_id}
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    ${index_id}
     Wait Until Keyword Succeeds    120s    15s    CORD Post    ${VOLT_SUBSCRIBER}    ${SubscriberDict}
 
 Remove Subscriber
diff --git a/src/test/cord-api/Tests/WorkflowValidations/BBSIM.robot b/src/test/cord-api/Tests/WorkflowValidations/BBSIM.robot
index c4e16d4..b9fc8f2 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/BBSIM.robot
+++ b/src/test/cord-api/Tests/WorkflowValidations/BBSIM.robot
@@ -21,14 +21,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../../Framework/utils/utils.py
-Resource          ../../Framework/utils/utils.robot
-Library           ../../Framework/restApi.py
-Resource          ../../Framework/Subscriber.robot
-Resource          ../../Framework/ATTWorkFlowDriver.robot
-Resource          ../../Framework/Kubernetes.robot
-Resource          ../../Framework/ONU.robot
-Resource          ../../Framework/DHCP.robot
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../../Properties/RestApiProperties.py
 
 *** Variables ***
diff --git a/src/test/cord-api/Tests/WorkflowValidations/BNGPortMapping.txt b/src/test/cord-api/Tests/WorkflowValidations/BNGPortMapping.txt
index dac01c2..7082ee8 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/BNGPortMapping.txt
+++ b/src/test/cord-api/Tests/WorkflowValidations/BNGPortMapping.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../../Framework/utils/utils.py
-Library           ../../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${PATHFILE}       ${CURDIR}/data/BNGPortMapping.json
@@ -21,7 +21,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${BNGList}=    utils.jsonToList    ${PATHFILE}    BNGPortMapping
+    ${BNGList}=    CORDRobot.jsonToList    ${PATHFILE}    BNGPortMapping
     Set Suite Variable    ${dlist}    ${BNGList}
     Set Global Variable    ${BNG_Id}    ${EMPTY}
 
@@ -33,8 +33,8 @@
 Create BNG Mapping
     [Arguments]    ${listIndex}
     ${BNGList} =    Get Variable Value    ${dlist}
-    ${BNGDict}=    utils.listToDict    ${BNGList}    ${listIndex}
-    ${api_result_status}    ${api_result_json}=    restApi.ApiPostReturnJson    BNG_MAP    ${BNGDict}
+    ${BNGDict}=    CORDRobot.listToDict    ${BNGList}    ${listIndex}
+    ${api_result_status}    ${api_result_json}=    CORDRobot.ApiPostReturnJson    BNG_MAP    ${BNGDict}
     Should Be True    ${api_result_status}
     ${BNG_Id}=    Get From Dictionary    ${api_result_json}    id
     Set Global Variable    ${BNG_Id}
@@ -42,10 +42,10 @@
 Validate posted BNG Port
     [Arguments]    ${listIndex}
     Log    ${BNG_Id}
-    ${json_result}=    restApi.ApiChameleonGet    BNG_MAP    ${BNG_Id}
+    ${json_result}=    CORDRobot.ApiChameleonGet    BNG_MAP    ${BNG_Id}
     Log    ${json_result}
     ${BNGList} =    Get Variable Value    ${dlist}
-    ${BNGDict}=    utils.listToDict    ${BNGList}    ${listIndex}
+    ${BNGDict}=    CORDRobot.listToDict    ${BNGList}    ${listIndex}
     Log    ${BNGDict}
-    ${test_result}=    utils.compare_dict    ${BNGDict}    ${json_result}
+    ${test_result}=    CORDRobot.compare_dict    ${BNGDict}    ${json_result}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/WorkflowValidations/DataPlane_FailureTests.robot b/src/test/cord-api/Tests/WorkflowValidations/DataPlane_FailureTests.robot
index 4c0571f..e116c01 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/DataPlane_FailureTests.robot
+++ b/src/test/cord-api/Tests/WorkflowValidations/DataPlane_FailureTests.robot
@@ -23,16 +23,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           /home/cord/voltha/tests/atests/common/testCaseUtils.py
-Library           ../../Framework/utils/utils.py
-Resource          ../../Framework/utils/utils.robot
-Library           ../../Framework/restApi.py
-Resource          ../../Framework/Subscriber.robot
-Resource          ../../Framework/ATTWorkFlowDriver.robot
-Resource          ../../Framework/Kubernetes.robot
-Resource          ../../Framework/ONU.robot
-Resource          ../../Framework/OLT.robot
-Resource          ../../Framework/DHCP.robot
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../../Properties/RestApiProperties.py
 
 *** Variables ***
@@ -139,19 +131,19 @@
     Create Session    ${server_ip}    http://${server_ip}:${server_port}    auth=${AUTH}    headers=${HEADERS}
     ${att_workflow_service_id}=    Get Service Owner Id    ${ATT_SERVICE}
     ${volt_service_id}=    Get Service Owner Id    ${VOLT_SERVICE}
-    ${AttWhiteListList}=    utils.jsonToList    ${WHITELIST_PATHFILE}   AttWhiteListInfo
+    ${AttWhiteListList}=    CORDRobot.jsonToList    ${WHITELIST_PATHFILE}   AttWhiteListInfo
     Set Suite Variable    ${AttWhiteListList}
-    ${AttWhiteListDict}=    utils.listToDict    ${AttWhiteListList}    0
-    ${AttWhiteListDict}=    utils.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${att_workflow_service_id}
+    ${AttWhiteListDict}=    CORDRobot.listToDict    ${AttWhiteListList}    0
+    ${AttWhiteListDict}=    CORDRobot.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${att_workflow_service_id}
     ${onu_location}=   Get From Dictionary    ${AttWhiteListDict}    pon_port_id
     Set Global Variable    ${onu_location}
-    ${SubscriberList}=    utils.jsonToList    ${SUBSCRIBER_PATHFILE}   SubscriberInfo
+    ${SubscriberList}=    CORDRobot.jsonToList    ${SUBSCRIBER_PATHFILE}   SubscriberInfo
     Set Global Variable    ${SubscriberList}
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    0
-    ${s_tag}=    utils.getFieldValueFromDict    ${SubscriberDict}   s_tag
-    ${c_tag}=    utils.getFieldValueFromDict    ${SubscriberDict}   c_tag
-    ${VoltDeviceList}=    utils.jsonToList    ${VOLT_DEVICE_PATHFILE}   VOLTDeviceInfo
-    ${VoltDeviceDict}=    utils.setFieldValueInDict    ${VoltDeviceList[0]}    volt_service_id    ${volt_service_id}
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    0
+    ${s_tag}=    CORDRobot.getFieldValueFromDict    ${SubscriberDict}   s_tag
+    ${c_tag}=    CORDRobot.getFieldValueFromDict    ${SubscriberDict}   c_tag
+    ${VoltDeviceList}=    CORDRobot.jsonToList    ${VOLT_DEVICE_PATHFILE}   VOLTDeviceInfo
+    ${VoltDeviceDict}=    CORDRobot.setFieldValueInDict    ${VoltDeviceList[0]}    volt_service_id    ${volt_service_id}
     Set Global Variable    ${VoltDeviceList}
     Set Global Variable    ${VoltDeviceDict}
     Set Suite Variable    ${s_tag}
@@ -233,7 +225,7 @@
     Wait Until Keyword Succeeds    120s    10s    Openolt is Up    ${olt_ip}    ${olt_user}    ${olt_pass}
 
 Create Whitelist
-    ${AttWhiteListDict}=    utils.listToDict    ${AttWhiteListList}    0
+    ${AttWhiteListDict}=    CORDRobot.listToDict    ${AttWhiteListList}    0
     CORD Post    ${ATT_WHITELIST}    ${AttWhiteListDict}
 
 Remove Whitelist
@@ -249,7 +241,7 @@
     CORD Put    ${ATT_WHITELIST}    {"pon_port_id": ${onu_location} }    ${whitelist_id}
 
 Create Subscriber
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    0
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    0
     Wait Until Keyword Succeeds    120s    15s    CORD Post    ${VOLT_SUBSCRIBER}    ${SubscriberDict}
 
 Remove Subscriber
diff --git a/src/test/cord-api/Tests/WorkflowValidations/SIAB.robot b/src/test/cord-api/Tests/WorkflowValidations/SIAB.robot
index 88a7753..e3e5115 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/SIAB.robot
+++ b/src/test/cord-api/Tests/WorkflowValidations/SIAB.robot
@@ -23,16 +23,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ${VOLTHA_DIR}/tests/atests/common/testCaseUtils.py
-Library           ../../Framework/utils/utils.py
-Resource          ../../Framework/utils/utils.robot
-Library           ../../Framework/restApi.py
-Resource          ../../Framework/Subscriber.robot
-Resource          ../../Framework/ATTWorkFlowDriver.robot
-Resource          ../../Framework/Kubernetes.robot
-Resource          ../../Framework/ONU.robot
-Resource         ../../Framework/OLT.robot
-Resource          ../../Framework/DHCP.robot
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../../Properties/RestApiProperties.py
 
 *** Variables ***
@@ -295,22 +287,22 @@
     Create Session    ${server_ip}    http://${server_ip}:${server_port}    auth=${AUTH}    headers=${HEADERS}
     ${att_workflow_service_id}=    Get Service Owner Id    ${ATT_SERVICE}
     ${volt_service_id}=    Get Service Owner Id    ${VOLT_SERVICE}
-    ${AttWhiteListList}=    utils.jsonToList    ${WHITELIST_PATHFILE}   AttWhiteListInfo
+    ${AttWhiteListList}=    CORDRobot.jsonToList    ${WHITELIST_PATHFILE}   AttWhiteListInfo
     Set Suite Variable    ${AttWhiteListList}
-    ${AttWhiteListDict}=    utils.listToDict    ${AttWhiteListList}    0
-    ${AttWhiteListDict}=    utils.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${att_workflow_service_id}
+    ${AttWhiteListDict}=    CORDRobot.listToDict    ${AttWhiteListList}    0
+    ${AttWhiteListDict}=    CORDRobot.setFieldValueInDict    ${AttWhiteListDict}    owner_id    ${att_workflow_service_id}
     ${onu_device}=   Get From Dictionary    ${AttWhiteListDict}    serial_number
     Log    ${onu_device}
     Set Global Variable    ${onu_device}
     ${onu_location}=   Get From Dictionary    ${AttWhiteListDict}    pon_port_id
     Set Global Variable    ${onu_location}
-    ${SubscriberList}=    utils.jsonToList    ${SUBSCRIBER_PATHFILE}   SubscriberInfo
+    ${SubscriberList}=    CORDRobot.jsonToList    ${SUBSCRIBER_PATHFILE}   SubscriberInfo
     Set Global Variable    ${SubscriberList}
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    0
-    ${s_tag}=    utils.getFieldValueFromDict    ${SubscriberDict}   s_tag
-    ${c_tag}=    utils.getFieldValueFromDict    ${SubscriberDict}   c_tag
-    ${VoltDeviceList}=    utils.jsonToList    ${VOLT_DEVICE_PATHFILE}   VOLTDeviceInfo
-    ${VoltDeviceDict}=    utils.setFieldValueInDict    ${VoltDeviceList[0]}    volt_service_id    ${volt_service_id}
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    0
+    ${s_tag}=    CORDRobot.getFieldValueFromDict    ${SubscriberDict}   s_tag
+    ${c_tag}=    CORDRobot.getFieldValueFromDict    ${SubscriberDict}   c_tag
+    ${VoltDeviceList}=    CORDRobot.jsonToList    ${VOLT_DEVICE_PATHFILE}   VOLTDeviceInfo
+    ${VoltDeviceDict}=    CORDRobot.setFieldValueInDict    ${VoltDeviceList[0]}    volt_service_id    ${volt_service_id}
     Set Global Variable    ${VoltDeviceList}
     Set Global Variable    ${VoltDeviceDict}
     Set Suite Variable    ${s_tag}
@@ -389,9 +381,9 @@
     Run    kubectl wait -n voltha pod/${RG_CONTAINER} --for condition=Ready --timeout=180s
 
 Create Whitelist
-    ${AttWhiteListDict}=    utils.listToDict    ${AttWhiteListList}    0
+    ${AttWhiteListDict}=    CORDRobot.listToDict    ${AttWhiteListList}    0
     ${resp}=    CORD Post    ${ATT_WHITELIST}    ${AttWhiteListDict}
-    ${whitelist_id}=    Get Json Value    ${resp.content}    /id
+    ${id}=    Get From Dictionary    ${resp.json()}    id
     Set Global Variable    ${whitelist_id}
 
 Remove Whitelist
@@ -399,7 +391,7 @@
     CORD Delete    ${ATT_WHITELIST}    ${whitelist_id}
 
 Create Subscriber
-    ${SubscriberDict}=    utils.listToDict    ${SubscriberList}    0
+    ${SubscriberDict}=    CORDRobot.listToDict    ${SubscriberList}    0
     CORD Post    ${VOLT_SUBSCRIBER}    ${SubscriberDict}
 
 Remove Subscriber
diff --git a/src/test/cord-api/Tests/WorkflowValidations/SystemUpgrade.robot b/src/test/cord-api/Tests/WorkflowValidations/SystemUpgrade.robot
index c674140..6f53df8 100644
--- a/src/test/cord-api/Tests/WorkflowValidations/SystemUpgrade.robot
+++ b/src/test/cord-api/Tests/WorkflowValidations/SystemUpgrade.robot
@@ -22,15 +22,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../../Framework/utils/utils.py
-Resource          ../../Framework/utils/utils.robot
-Library           ../../Framework/restApi.py
-Resource          ../../Framework/Subscriber.robot
-Resource          ../../Framework/ATTWorkFlowDriver.robot
-Resource          ../../Framework/Kubernetes.robot
-Resource          ../../Framework/ONU.robot
-Resource          ../../Framework/OLT.robot
-Resource          ../../Framework/DHCP.robot
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../../Properties/RestApiProperties.py
 
 *** Variables ***
diff --git a/src/test/cord-api/Tests/defaultImagesCheck.txt b/src/test/cord-api/Tests/defaultImagesCheck.txt
index fd38c2e..132243c 100644
--- a/src/test/cord-api/Tests/defaultImagesCheck.txt
+++ b/src/test/cord-api/Tests/defaultImagesCheck.txt
@@ -7,8 +7,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 
 *** Variables ***
 ${USER}           admin
@@ -21,7 +21,7 @@
 
 *** Keywords ***
 Read InputFile
-    ${imageList}=    utils.jsonToList    ${PATHFILE}    imagesInfo
+    ${imageList}=    CORDRobot.jsonToList    ${PATHFILE}    imagesInfo
     Set Suite Variable    ${ilist}    ${imageList}
 
 Verify Image Check
@@ -29,8 +29,8 @@
     Run Keyword If    "${type}" == "IMAGE"    Test Image Check
 
 Test Image Check
-    ${json_result}=    restApi.ApiGet    CORE_IMAGES
+    ${json_result}=    CORDRobot.ApiGet    CORE_IMAGES
     Log    ${json_result}
     ${imageList}=    Get Variable Value    ${ilist}
-    ${test_result}=    utils.compare_list_of_dicts    ${imageList}    ${json_result}
+    ${test_result}=    CORDRobot.compare_list_of_dicts    ${imageList}    ${json_result}
     Should Be True    ${test_result}
diff --git a/src/test/cord-api/Tests/targets/xosapitests.xtarget b/src/test/cord-api/Tests/targets/xosapitests.xtarget
index 90b1b96..79cc0e4 100644
--- a/src/test/cord-api/Tests/targets/xosapitests.xtarget
+++ b/src/test/cord-api/Tests/targets/xosapitests.xtarget
@@ -8,9 +8,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library		      HttpLibrary.HTTP
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../Properties/RestApiProperties.py
 
 *** Variables ***
@@ -49,7 +48,7 @@
     ${resp}=    Get Request    ${SERVER_IP}    ${service}/${id}
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
-    ${amend_value}=    Run Keyword If    '${key}' != 'null'    Get Json Value    ${resp.content}    /${key}
+    ${amend_value}=    Run Keyword If    '${key}' != 'null'    Get From Dictionary    ${resp.json()}    ${key}
     ${amend_value}=    Run Keyword If    '${key}' != 'null'    Remove String    ${amend_value}    "
     Run Keyword If    '${key}' != 'null'    Should Contain    "${value}"    ${amend_value}
     [Return]    ${resp}
@@ -61,7 +60,7 @@
     ${resp}=    Post Request    ${SERVER_IP}    uri=${service}    data=${data}
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
-    ${id}=    Get Json Value    ${resp.content}    /id
+    ${id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${id}
     [Return]    ${resp}
 
@@ -72,7 +71,7 @@
     ${resp}=    Put Request    ${SERVER_IP}    uri=${service}/${data_id}    data=${data}
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
-    ${id}=    Get Json Value    ${resp.content}    /id
+    ${id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${id}
     [Return]    ${resp}
 
@@ -225,7 +224,7 @@
     ${json_{{ m.name | lower}}_tmp}=    Set Json Value    ${json_{{ m.name | lower }}_tmp}    /no_sync    true
     ${json_{{ m.name | lower }}_tmp}=     To JSON    ${json_{{ m.name | lower }}_tmp}
     ${resp}=    CORD Post    /xosapi/v1/${xos_service}/{{ m.name | lower}}s    ${json_{{ m.name | lower }}_tmp}
-    ${id_{{ m.name | lower }}_tmp}=    Get Json Value    ${resp.content}    /id
+    ${id_{{ m.name | lower }}_tmp}=    Get From Dictionary    ${resp.json()}    id
     Append To List    ${dependent_{{ m.name | lower }}_ids}    ${id_{{ m.name | lower }}_tmp}
     [Return]    ${id_{{ m.name | lower }}_tmp}
 {% endif %}
diff --git a/src/test/cord-api/Tests/targets/xoslibrary.xtarget b/src/test/cord-api/Tests/targets/xoslibrary.xtarget
index 5e40468..5da2b9d 100644
--- a/src/test/cord-api/Tests/targets/xoslibrary.xtarget
+++ b/src/test/cord-api/Tests/targets/xoslibrary.xtarget
@@ -5,9 +5,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library		      HttpLibrary.HTTP
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../Properties/RestApiProperties.py
 
 *** Keywords ***
@@ -24,7 +23,7 @@
     ${resp}=    Get Request    ${SERVER_IP}    ${service}/${id}
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
-    ${updated_value}=    Run Keyword If    '${key}' != 'null'    Get Json Value    ${resp.content}    /${key}
+    ${updated_value}=    Run Keyword If    '${key}' != 'null'    Get From Dictionary    ${resp.json()}    ${key}
     ${updated_value}=    Run Keyword If    '${key}' != 'null'    Remove String    ${updated_value}    "
     Run Keyword If    '${key}' != 'null'    Should Contain    "${value}"    ${updated_value}
     [Return]    ${resp}
@@ -36,7 +35,7 @@
     ${resp}=    Post Request    ${SERVER_IP}    uri=${service}    data=${data}
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
-    ${id}=    Get Json Value    ${resp.content}    /id
+    ${id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${id}
     [Return]    ${resp}
 
@@ -47,7 +46,7 @@
     ${resp}=    Put Request    ${SERVER_IP}    uri=${service}/${data_id}    data=${data}
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
-    ${id}=    Get Json Value    ${resp.content}    /id
+    ${id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${id}
     [Return]    ${resp}
 
@@ -89,7 +88,7 @@
     ${json_{{ m.name | lower }}_1}=    Set Json Value    ${json_{{ m.name | lower }}_1}    /{{ f.name }}    "${json_{{ m.name | lower }}_{{ f.name }}_1}"
     {% elif f.name == "s_tag" and m.name == "BNGPortMapping" -%}
     ${json_{{ m.name | lower}}_{{ f.name }}_1}=    Generate Random Value    vlan_tag
-    ${json_{{ m.name | lower}}_1}=    Set Json Value    ${json_{{ m.name | lower }}_1}    /{{ f.name }}    "${json_{{ m.name | lower}}_{{ f.name }}_1}"    
+    ${json_{{ m.name | lower}}_1}=    Set Json Value    ${json_{{ m.name | lower }}_1}    /{{ f.name }}    "${json_{{ m.name | lower}}_{{ f.name }}_1}"
     {% else -%}
     ${json_{{ m.name | lower}}_{{ f.name }}_1}=    Generate Random Value    {{ f.type }}
     ${json_{{ m.name | lower }}_1}=    Set Json Value    ${json_{{ m.name | lower }}_1}    /{{ f.name }}    "${json_{{ m.name | lower }}_{{ f.name }}_1}"
@@ -247,10 +246,10 @@
     ${json_{{ m.name | lower}}_amend_1}=    Set Json Value    ${json_{{ m.name | lower }}_amend_1}    /serial_number    "amendserialnumber"
     {% endif %}
     ${json_{{ m.name | lower}}_tmp}=    Set Json Value    ${json_{{ m.name | lower }}_tmp}    /no_policy    true
-    ${json_{{ m.name | lower}}_tmp}=    Set Json Value    ${json_{{ m.name | lower }}_tmp}    /no_sync    true    
+    ${json_{{ m.name | lower}}_tmp}=    Set Json Value    ${json_{{ m.name | lower }}_tmp}    /no_sync    true
     ${json_{{ m.name | lower }}_tmp}=     To JSON    ${json_{{ m.name | lower }}_tmp}
     ${resp}=    CORD Post    /xosapi/v1/{{ xproto_unquote(m.options.app_label) }}/{{ xproto_pluralize(m) | lower}}    ${json_{{ m.name | lower }}_tmp}
-    ${id_{{ m.name | lower }}_tmp}=    Get Json Value    ${resp.content}    /id
+    ${id_{{ m.name | lower }}_tmp}=    Get From Dictionary    ${resp.json()}    id
     Append To List    ${dependent_{{ m.name | lower }}_ids}    ${id_{{ m.name | lower }}_tmp}
     [Return]    ${id_{{ m.name | lower }}_tmp}
 {% endif %}
diff --git a/src/test/cord-api/Tests/targets/xosserviceapitests.xtarget b/src/test/cord-api/Tests/targets/xosserviceapitests.xtarget
index c35d3e4..af9a668 100644
--- a/src/test/cord-api/Tests/targets/xosserviceapitests.xtarget
+++ b/src/test/cord-api/Tests/targets/xosserviceapitests.xtarget
@@ -9,9 +9,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library		      HttpLibrary.HTTP
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Resource          ${TESTLIBRARY}
 Variables         ../Properties/RestApiProperties.py
 
diff --git a/src/test/cord-api/Tests/targets/xosserviceupgradetest.xtarget b/src/test/cord-api/Tests/targets/xosserviceupgradetest.xtarget
index c87b17d..cf12f7f 100644
--- a/src/test/cord-api/Tests/targets/xosserviceupgradetest.xtarget
+++ b/src/test/cord-api/Tests/targets/xosserviceupgradetest.xtarget
@@ -9,9 +9,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library		      HttpLibrary.HTTP
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Resource          ${TESTLIBRARY}
 Variables         ../Properties/RestApiProperties.py
 
@@ -47,4 +46,4 @@
     Should Be Equal As Strings    ${resp.status_code}    200
     ${jsondata}=    To Json    ${resp.content}
     Log    ${data}
-    ${test_result}=    utils.compare_list_of_dicts    ${list1}    ${jsondata['items']}
\ No newline at end of file
+    ${test_result}=    CORDRobot.compare_list_of_dicts    ${list1}    ${jsondata['items']}
diff --git a/src/test/cord-api/Tests/targets/xosstaticlibrary.xtarget b/src/test/cord-api/Tests/targets/xosstaticlibrary.xtarget
index 62b2f4c..1791f49 100644
--- a/src/test/cord-api/Tests/targets/xosstaticlibrary.xtarget
+++ b/src/test/cord-api/Tests/targets/xosstaticlibrary.xtarget
@@ -5,9 +5,8 @@
 Library           OperatingSystem
 Library           XML
 Library           RequestsLibrary
-Library		      HttpLibrary.HTTP
-Library           ../Framework/utils/utils.py
-Library           ../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../Properties/RestApiProperties.py
 
 *** Variables ***
@@ -37,7 +36,7 @@
     ${resp}=    Get Request    ${SERVER_IP}    ${service}/${id}
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
-    ${updated_value}=    Run Keyword If    '${key}' != 'null'    Get Json Value    ${resp.content}    /${key}
+    ${updated_value}=    Run Keyword If    '${key}' != 'null'    Get From Dictionary    ${resp.json()}    ${key}
     ${updated_value}=    Run Keyword If    '${key}' != 'null'    Remove String    ${updated_value}    "
     Run Keyword If    '${key}' != 'null'    Should Contain    "${value}"    ${updated_value}
     [Return]    ${resp}
@@ -49,7 +48,7 @@
     ${resp}=    Post Request    ${SERVER_IP}    uri=${service}    data=${data}
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
-    ${id}=    Get Json Value    ${resp.content}    /id
+    ${id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${id}
     [Return]    ${resp}
 
@@ -60,7 +59,7 @@
     ${resp}=    Put Request    ${SERVER_IP}    uri=${service}/${data_id}    data=${data}
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
-    ${id}=    Get Json Value    ${resp.content}    /id
+    ${id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${id}
     [Return]    ${resp}
 
@@ -254,7 +253,7 @@
     ${json_{{ m.name | lower}}_tmp}=    Set Json Value    ${json_{{ m.name | lower }}_tmp}    /no_sync    true
     ${json_{{ m.name | lower }}_tmp}=     To JSON    ${json_{{ m.name | lower }}_tmp}
     ${resp}=    CORD Post    /xosapi/v1/{{ xproto_unquote(m.options.app_label) }}/{{ xproto_pluralize(m) | lower}}    ${json_{{ m.name | lower }}_tmp}
-    ${id_{{ m.name | lower }}_tmp}=    Get Json Value    ${resp.content}    /id
+    ${id_{{ m.name | lower }}_tmp}=    Get From Dictionary    ${resp.json()}    id
     Append To List    ${dependent_{{ m.name | lower }}_ids}    ${id_{{ m.name | lower }}_tmp}
     [Return]    ${id_{{ m.name | lower }}_tmp}
 {% endif %}
@@ -270,7 +269,7 @@
     [Arguments]    ${model}    ${data}
     ${condition}    ${modelId}=    Check If Model Exists    ${model}
     ${resp}=    Run Keyword Unless    ${condition}    CORD Post    ${model}    ${data}
-    ${id}=    Run Keyword Unless    ${condition}    Get Json Value    ${resp.content}    /id
+    ${id}=    Run Keyword Unless    ${condition}    Get From Dictionary    ${resp.json()}    id
     ${model_id}=    Set Variable If    ${condition}    ${modelId}    ${id}
     [Return]    ${model_id}
 
diff --git a/src/test/cord-api/Tests/xos-att-workflow-driver-tests/ATT_Workflow.robot b/src/test/cord-api/Tests/xos-att-workflow-driver-tests/ATT_Workflow.robot
index 0fbc7d9..52e56bb 100644
--- a/src/test/cord-api/Tests/xos-att-workflow-driver-tests/ATT_Workflow.robot
+++ b/src/test/cord-api/Tests/xos-att-workflow-driver-tests/ATT_Workflow.robot
@@ -1,11 +1,11 @@
 *** Settings ***
 Library           KafkaLibrary
 Library           RequestsLibrary
-Library           HttpLibrary.HTTP
 Library           Collections
 Library           String
 Library           OperatingSystem
-Resource          ../../Framework/utils/utils.robot
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Suite Setup       Setup
 Suite Teardown    Teardown
 Test Template     Send Event and Verify
@@ -53,7 +53,7 @@
     [Documentation]    Validate that creating a new whitelist entry for the "invalid" onu device will enable the onu
     [Template]    None
     ${resp}=    CORD Post    ${att_whitelist_api}    {"serial_number": "${onu_invalid_sn}", "device_id": "${deviceId}", "pon_port_id": ${ponportno}, "owner_id": ${attworkflowservice_id}}
-    ${whitelist_entry2_id}=    Get Json Value    ${resp.content}    /id
+    ${whitelist_entry2_id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${whitelist_entry2_id}
     Wait Until Keyword Succeeds    30s    5s    Validate ONU Device Status    ${onu_invalid_sn}    ENABLED
 
@@ -96,25 +96,25 @@
     ${attworkflowservice_id}=    Get From Dictionary    ${attworkflowservice}    id
     Set Suite Variable    ${attworkflowservice_id}
     ${resp}=    CORD Post    ${subscriber_api}    {"onu_device": "${onu_serial_no}", "status": "pre-provisioned", "upstream_bps": 1, "downstream_bps": 1, "tech_profile_id": 1}
-    ${subscriber_id}=    Get Json Value    ${resp.content}    /id
+    ${subscriber_id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${subscriber_id}
     ${resp}=    CORD Post    ${olt_api}    {"volt_service_id": ${voltservice_id}, "name": "testoltdevice1", "device_type": "ponism", "host": "172.17.0.1", "port": 50060, "switch_port": "1", "dp_id": "${deviceId}", "outer_tpid": "0x8100", "uplink": "128"}
-    ${oltdevice_id}=    Get Json Value    ${resp.content}    /id
+    ${oltdevice_id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${oltdevice_id}
     ${resp}=    CORD Post    ${pon_ports_api}    {"olt_device_id": ${oltdevice_id}, "port_no": "${ponportno}", "name": "testponport1"}
-    ${ponport_id}=    Get Json Value    ${resp.content}    /id
+    ${ponport_id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${ponport_id}
     ${resp}=    CORD Post    ${onu_device_api}    {"serial_number": "${onu_serial_no}", "pon_port_id": ${ponport_id}, "vendor": "abcdefg"}
-    ${onu_device1_id}=    Get Json Value    ${resp.content}    /id
+    ${onu_device1_id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${onu_device1_id}
     ${resp}=    CORD Post    ${uni_ports_api}    {"onu_device_id": "${onu_device1_id}", "port_no": ${uniportno}, "name": "testuniport"}
-    ${uni_port_id}=    Get Json Value    ${resp.content}    /id
+    ${uni_port_id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${uni_port_id}
     ${resp}=    CORD Post    ${onu_device_api}    {"serial_number": "${onu_invalid_sn}", "pon_port_id": ${ponport_id}, "vendor": "abcdefg"}
-    ${onu_device2_id}=    Get Json Value    ${resp.content}    /id
+    ${onu_device2_id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${onu_device2_id}
     ${resp}=    CORD Post    ${att_whitelist_api}    {"serial_number": "${onu_serial_no}", "device_id": "${deviceId}", "pon_port_id": ${ponportno}, "owner_id": ${attworkflowservice_id}}
-    ${whitelist_entry_id}=    Get Json Value    ${resp.content}    /id
+    ${whitelist_entry_id}=    Get From Dictionary    ${resp.json()}    id
     Set Suite Variable    ${whitelist_entry_id}
 
 Send Event and Verify
diff --git a/src/test/cord-api/Tests/xos-backup-tests/xos-backup.robot b/src/test/cord-api/Tests/xos-backup-tests/xos-backup.robot
index 93c2267..3affc23 100644
--- a/src/test/cord-api/Tests/xos-backup-tests/xos-backup.robot
+++ b/src/test/cord-api/Tests/xos-backup-tests/xos-backup.robot
@@ -4,15 +4,12 @@
 *** Settings ***
 Documentation     Test backup/restore of a models in XOS
 Library           RequestsLibrary
-Library           HttpLibrary.HTTP
 Library           Collections
 Library           String
 Library           OperatingSystem
 Library           DateTime
-Library           ../../Framework/utils/utils.py
-Resource          ../../Framework/utils/utils.robot
-Library           ../../Framework/restApi.py
-Variables         ../../Properties/RestApiProperties.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Suite Setup       Setup
 Suite Teardown    Teardown
 Test Template     Validate Operation
@@ -134,4 +131,4 @@
     Log    ${resp.content}
     Should Be Equal As Strings    ${resp.status_code}    200
     ${jsondata}=    To Json    ${resp.content}
-    Should Be Equal As Strings     ${jsondata['status']}    ${state}
\ No newline at end of file
+    Should Be Equal As Strings     ${jsondata['status']}    ${state}
diff --git a/src/test/cord-api/Tests/xos-migration-tests/xos-remove-service.robot b/src/test/cord-api/Tests/xos-migration-tests/xos-remove-service.robot
index 01a9bd0..fcb61ee 100644
--- a/src/test/cord-api/Tests/xos-migration-tests/xos-remove-service.robot
+++ b/src/test/cord-api/Tests/xos-migration-tests/xos-remove-service.robot
@@ -1,15 +1,13 @@
 *** Settings ***
 Documentation     Test remove of a service
 Library           RequestsLibrary
-Library           HttpLibrary.HTTP
 Library           Collections
 Library           String
 Library           OperatingSystem
 Library           DateTime
-Library           ../../Framework/utils/utils.py
 Library           DatabaseLibrary
-Resource          ../../Framework/utils/utils.robot
-Library           ../../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../../Properties/RestApiProperties.py
 Suite Setup       Setup
 Suite Teardown    Teardown
diff --git a/src/test/cord-api/Tests/xos-migration-tests/xos-service-migrations.robot b/src/test/cord-api/Tests/xos-migration-tests/xos-service-migrations.robot
index 0d042ca..0770577 100644
--- a/src/test/cord-api/Tests/xos-migration-tests/xos-service-migrations.robot
+++ b/src/test/cord-api/Tests/xos-migration-tests/xos-service-migrations.robot
@@ -20,14 +20,12 @@
 *** Settings ***
 Documentation     Test migration of a Service in the core
 Library           RequestsLibrary
-Library           HttpLibrary.HTTP
 Library           Collections
 Library           String
 Library           OperatingSystem
 Library           DateTime
-Library           ../../Framework/utils/utils.py
-Resource          ../../Framework/utils/utils.robot
-Library           ../../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../../Properties/RestApiProperties.py
 Suite Setup       Setup
 Suite Teardown    Teardown
diff --git a/src/test/cord-api/Tests/xos-scale-tests/utils/devices.py b/src/test/cord-api/Tests/xos-scale-tests/utils/devices.py
index 86c6e6b..dd142a8 100644
--- a/src/test/cord-api/Tests/xos-scale-tests/utils/devices.py
+++ b/src/test/cord-api/Tests/xos-scale-tests/utils/devices.py
@@ -12,8 +12,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+from __future__ import absolute_import
+
 from tinydb import TinyDB, Query
-from robot.api import logger
+# from robot.api import logger
+
 
 class devices(object):
 
@@ -119,7 +122,7 @@
         formatted for the XOS Rest API
         :return: a list of PON Ports
         """
-        return self.pon_ports.all();
+        return self.pon_ports.all()
 
     def update_pon_port_id(self, pon_port, id):
         """
@@ -152,7 +155,7 @@
         return onus
 
     def get_rest_onus(self):
-        return self.onus.all();
+        return self.onus.all()
 
     def update_onu_id(self, onu, id):
         Onu = Query()
@@ -178,7 +181,7 @@
         return unis
 
     def get_rest_unis(self):
-        return self.uni_ports.all();
+        return self.uni_ports.all()
 
     def update_uni_id(self, uni, id):
         UniPort = Query()
diff --git a/src/test/cord-api/Tests/xos-scale-tests/xos-scale-att-workflow.robot b/src/test/cord-api/Tests/xos-scale-tests/xos-scale-att-workflow.robot
index 44b45c4..c7c85cb 100644
--- a/src/test/cord-api/Tests/xos-scale-tests/xos-scale-att-workflow.robot
+++ b/src/test/cord-api/Tests/xos-scale-tests/xos-scale-att-workflow.robot
@@ -2,7 +2,6 @@
 Documentation    Scale up models in a SEBA deployment with no backends
 Library           KafkaLibrary
 Library           RequestsLibrary
-Library           HttpLibrary.HTTP
 Library           Collections
 Library           String
 Library           OperatingSystem
diff --git a/src/test/cord-api/Tests/xos-test-service/test-service.robot b/src/test/cord-api/Tests/xos-test-service/test-service.robot
index 220c4b4..b7c9ed4 100644
--- a/src/test/cord-api/Tests/xos-test-service/test-service.robot
+++ b/src/test/cord-api/Tests/xos-test-service/test-service.robot
@@ -7,14 +7,12 @@
 *** Settings ***
 Documentation     Test migration of a Service in the core
 Library           RequestsLibrary
-Library           HttpLibrary.HTTP
 Library           Collections
 Library           String
 Library           OperatingSystem
 Library           DateTime
-Library           ../../Framework/utils/utils.py
-Resource          ../../Framework/utils/utils.robot
-Library           ../../Framework/restApi.py
+Library           CORDRobot
+Library           ImportResource  resources=CORDRobot
 Variables         ../../Properties/RestApiProperties.py
 Suite Setup       Setup
 Suite Teardown    Teardown
