diff --git a/docs/cord-tester-for-ciab-setup.md b/docs/cord-tester-for-ciab-setup.md
new file mode 100644
index 0000000..cce5a84
--- /dev/null
+++ b/docs/cord-tester-for-ciab-setup.md
@@ -0,0 +1,81 @@
+# Testing CiaB(CORD-IN-A-BOX) Using CORD TESTER 
+The CORD Automated Tester Suite is an extensible end-to-end system test suite now targeting CORD in a BOX also. 
+
+* [How to install](#how_to_install)
+* [How to use](#how_to_use)
+
+## Prerequisites
+
+* Python 2.7 or later
+* Docker
+
+##  <a name="how_to_install">How to install
+
+```bash
+$ git clone https://github.com/opencord/cord-tester.git
+$ cd cord-tester
+$ cd src/test/setup/
+$ Run prerequisites.sh --cord 
+  (It gets you needed dependencies and tools to start)
+* Build all required test container images
+$ sudo ./cord-test.py build all
+* If you want , you can also pull latest onos from docker hub for test setup.
+$ sudo docker pull onosproject/onos:latest
+* Else setup for test with onos instances (onos-cord and onos-fabric) running in CiaB.
+* For Onos cord (Access side onos) 
+$ sudo ./cord-test.py setup -m manifest-cord.json
+* For Fabric onos
+$ sudo ./cord-test.py setup -m manifest-fabric.json
+* For running tests using specific test container.
+$ sudo ./cord-test.py run -t tls:tls_exchange.test_eap_tls -c cord-tester1 
+```
+```
+## <a name="how_to_use">How to use
+```
+```
+* Running test case of indivisual modules
+```
+```
+* TLS
+```
+```
+$ sudo ./cord-test.py  run -t tls:tls_exchange.test_eap_tls
+```
+```
+* IGMP
+```
+```
+$ sudo ./cord-test.py  run -t igmp:igmp_exchange.test_igmp_join_verify_traffic
+```
+```
+* VROUTER
+```
+```
+$ sudo ./cord-test.py run -t vrouter:vrouter_exchange.test_vrouter_with_5_routes
+```
+```
+* DHCP
+```
+```
+$ sudo ./cord-test.py  run -t dhcp:dhcp_exchange.test_dhcp_1request
+```
+```
+* For help and usage use -h option in all levels of menu 
+```
+```
+$ sudo ./cord-test.py -h
+```
+```
+* For listing test cases of indivisual module or list all tests.
+```
+```
+$ sudo ./cord-test.py list -t <module name>/ all
+```
+```
+* Cleanup
+```
+```
+$ sudo ./cord-test.py cleanup -m manifest-cord.json
+```
+
+
diff --git a/docs/single-node-cord.md b/docs/single-node-cord.md
deleted file mode 100644
index 2a44848..0000000
--- a/docs/single-node-cord.md
+++ /dev/null
@@ -1,120 +0,0 @@
-# CORD TESTER
-The CORD Automated Tester Suite is an extensible end-to-end system test suite targeting CORD PODs. 
-Here we set it up for single-node CORD .
-
-# Setting up CORD tester for a single-node CORD environment
-* Details can be found at:
-* `https://github.com/open-cloud/openstack-cluster-setup`
-
-# Get started
-* `wget https://raw.githubusercontent.com/open-cloud/openstack-cluster-setup/master/scripts/single-node-pod.sh`
-* `bash single-node-pod.sh [-t] [-e]`
-  * With no options, the script installs the OpenStack services and a simulated fabric. It creates VMs for
-    XOS and ONOS but does not start these services.
-  * Adding the `-t` option will start XOS, bring up a vSG, install a test client, and run a simple E2E test.
-  * Adding the `-e` option will add the [ExampleService](http://guide.xosproject.org/devguide/exampleservice/) 
-    to XOS (and test it if `-t` is also specified).
-
-* [How to install](#how_to_install)
-* [How to use](#how_to_use)
-
-##  <a name="how_to_install">How to install and run cord-tester for CORD
-
-```bash
-$ git clone https://github.com/opencord/cord-tester.git
-$ cd cord-tester/src/test/setup/
-
-$ sudo ./cord-test.py -h
-usage: cord-test.py [-h] {run,list,build,cleanup} ...
-
-Cord Tester
-
-positional arguments:
-  {run,list,build,cleanup}
-    run                 Run cord tester
-    list                List test cases
-    build               Build cord test container images
-    cleanup             Cleanup test containers
-
-optional arguments:
-  -h, --help            show this help message and exit
-
-$ sudo ./cord-test.py run -h
-usage: cord-test.py run [-h] [-t TEST_TYPE] [-o ONOS] [-r] [-q] [-a APP] [-p]
-                        [-e TEST_CONTROLLER] [-k] [-s]
-                        [-u {test,quagga,radius,all}]
-optional arguments:
-  -h, --help            show this help message and exit
-  -t TEST_TYPE, --test-type TEST_TYPE
-                        Specify test type or test case to run
-  -o ONOS, --onos ONOS  ONOS container image
-  -q, --quagga          Provision quagga container for vrouter
-  -a APP, --app APP     Cord ONOS app filename
-  -p, --olt             Use OLT config
-  -e TEST_CONTROLLER, --test-controller TEST_CONTROLLER
-                        External test controller ip for Onos and/or radius
-                        server. Eg: 10.0.0.2/10.0.0.3 to specify ONOS and
-                        Radius ip to connect
-  -r SERVER, --server SERVER
-                        ip:port address to connect for cord test server for
-                        container requests
-  -k, --keep            Keep test container after tests
-  -s, --start-switch    Start OVS when running under OLT config
-  -u {test,quagga,radius,all}, --update {test,quagga,radius,all}
-                        Update cord tester container images. Eg:
-                        --update=quagga to rebuild quagga image.
-                        --update=radius to rebuild radius server image.
-                        --update=test to rebuild cord test image.(Default)
-                        --update=all to rebuild all cord tester images.
-  -n NUM_CONTAINERS, --num-containers NUM_CONTAINERS
-                        Specify number of test containers to spawn for tests
-
-$  sudo ./cord-test.py list -h
-usage: cord-test.py list [-h] [-t TEST]
-
-optional arguments:
-  -h, --help            show this help message and exit
-  -t TEST, --test TEST  Specify test type to list test cases. Eg: -t tls to
-                        list tls test cases. -t tls-dhcp-vrouter to list
-                        tls,dhcp and vrouter test cases. -t all to list all
-                        test cases.
- sudo ./cord-test.py build -h
-usage: cord-test.py build [-h] {quagga,radius,test,all}
-
-positional arguments:
-  {quagga,radius,test,all}
-
-optional arguments:
-  -h, --help            show this help message and exit
-
-## Setup prerequisites
-$ sudo ./prerequisites.sh --cord
-
-## Build container images
-$ sudo ./cord-test.py build test
-
-## Initiate a setup for test
-$ sudo ./cord-test.py setup --olt -e 192.168.122.110/172.17.0.2
-
-192.168.122.110 : ONOS running on compute node 192.168.122.110
-172.17.0.2 : ONOS accessible radius server.
-
-## Once above steps are done
-$ sudo docker attach cord-tester1
-$ cd /root/test/src/test/cordSubscriber
-$ nosetests -v cordSubscriberTest.py
-
-```
-This would run a CORD Subscriber channel surfing tests and do a get to google.com.
-Channel jump test does channel surfing by joining/leaving random channels and validation .
-```
-```
-olt_config.json specifies the subscriber and test container configuration.
-```
-* For cleanup
-```
-$ sudo ./cord-test.py cleanup --olt
-```
-```
-$ sudo pkill -f cord-test
-```
