diff --git a/README.md b/README.md
index 5ceb6f2..b59c455 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-#System-Tests
+# System-Tests
 
 Automated test-suites to validate the stability/functionality of VOLTHA. Tests that reside in here should be written in Robot Framework and Python.
 
@@ -11,7 +11,7 @@
 * Scale Testing using BBSIM
 * Failure/Scenario testing
 
-##Prerequisites
+## Prerequisites
 * Python Virtual-Env
 * `voltctl` - a command line tool to access VOLTHA. Reference - [voltctl](https://github.com/ciena/voltctl)
 * `kubectl` - a command line tool to access your Kubernetes Clusers. Reference - [kubectl](https://kubernetes.io/docs/reference/kubectl/kubectl/)
@@ -27,7 +27,7 @@
 ```
 
 
-##Getting Started
+## Getting Started
 1. Download `voltha-system-tests`
     * `git clone https://gerrit.opencord.org/voltha-system-tests`
 
diff --git a/VERSION b/VERSION
index 8acdd82..07156bd 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.0.1
+0.0.1-dev0
diff --git a/libraries/utils.robot b/libraries/utils.robot
index ccccf9a..11888e8 100644
--- a/libraries/utils.robot
+++ b/libraries/utils.robot
@@ -52,4 +52,12 @@
     \    Run Keyword If    '${sn}' == '${serial_number}'    Exit For Loop
     Should Be Equal    ${astate}    ${admin_state}    Device ${serial_number} admin_state != ENABLED    values=False
     Should Be Equal    ${opstatus}    ${oper_status}    Device ${serial_number} oper_status != ACTIVE    values=False
-    Should Be Equal    ${cstatus}    ${connect_status}    Device ${serial_number} connect_status != REACHABLE    values=False
\ No newline at end of file
+    Should Be Equal    ${cstatus}    ${connect_status}    Device ${serial_number} connect_status != REACHABLE    values=False
+
+Check CLI Tools Configured
+    [Documentation]    Tests that use 'voltctl' and 'kubectl' should execute this keyword in suite setup
+    # check voltctl and kubectl configured
+    ${voltctl_rc}=    Run And Return RC    voltctl
+    ${kubectl_rc}=    Run And Return RC    kubectl
+    Run Keyword If    ${voltctl_rc} != 1 or ${kubectl_rc} != 0    FATAL ERROR
+    ...    VOLTCTL and KUBECTL not configured. Please configure before executing tests.
\ No newline at end of file
diff --git a/tests/sanity/sanity.robot b/tests/sanity/sanity.robot
index 7f6295f..7d1b633 100644
--- a/tests/sanity/sanity.robot
+++ b/tests/sanity/sanity.robot
@@ -47,17 +47,17 @@
 
 Validate OLT Connected to ONOS
     [Documentation]    Verifies the BBSIM-OLT device is activated in onos
-    [Tags]    notready
+    [Tags]    onosdevice
     Wait Until Keyword Succeeds    ${timeout}    5s    BBSIM OLT Device in ONOS
 
 Check EAPOL Flows in ONOS
     [Documentation]    Validates eapol flows for the onu are pushed from voltha
-    [Tags]    notready
+    [Tags]    eapol
     Wait Until Keyword Succeeds    ${timeout}    5s    Verify Eapol Flows Added
 
 Validate ONU Authenticated in ONOS
     [Documentation]    Validates onu is AUTHORIZED in ONOS as bbsim will attempt to authenticate
-    [Tags]    notready
+    [Tags]    aaa
     Wait Until Keyword Succeeds    ${timeout}    5s    Verify Number of AAA-Users    ${number_of_onus}
 
 Provision ONU Subscriber in ONOS
@@ -70,7 +70,8 @@
 
 *** Keywords ***
 Setup
-    [Documentation]    Create HTTP Session with the ONOS Controller
+    [Documentation]    Setup environment
+    Check CLI Tools Configured
     ${onos_auth}=    Create List    karaf    karaf
     ${HEADERS}    Create Dictionary    Content-Type=application/json
     Create Session    ONOS    http://${server_ip}:${ONOS_REST_PORT}    auth=${ONOS_AUTH}
