use driver
diff --git a/plstackapi/openstack/driver.py b/plstackapi/openstack/driver.py
index 9d00976..cba7d95 100644
--- a/plstackapi/openstack/driver.py
+++ b/plstackapi/openstack/driver.py
@@ -14,6 +14,20 @@
         else:
             self.shell = OpenStackClient()
 
+    def create_role(self, name): 
+        roles = self.shell.keystone.roles.findall(name=name)
+        if not roles:
+            role = self.shell.keystone.roles.create(name)
+        else:
+            role = roles[0] 
+        return role
+
+    def delete_role(self, name):
+        roles = self.shell.keystone.roles.findall(name=name)
+        for role in roles:
+            self.shell.keystone.roles.delete(role)
+        return 1
+
     def create_tenant(self, tenant_name, enabled, description):
         """Create keystone tenant. Suggested fields: name, description, enabled"""  
         tenants = self.shell.keystone.tenants.findall(name=tenant_name)
diff --git a/plstackapi/planetstack/api/roles.py b/plstackapi/planetstack/api/roles.py
index 2c14e2e..34415d8 100644
--- a/plstackapi/planetstack/api/roles.py
+++ b/plstackapi/planetstack/api/roles.py
@@ -5,16 +5,16 @@
  
 
 def add_role(auth, name):
-    client = auth_check(auth)
-    keystone_role = client.keystone.roles.create(name)
+    driver = OpenStackDriver(client = auth_check(auth))    
+    keystone_role = driver.create_role(name=name)
     role = Role(role_type=name, role_id=keystone_role.id)
     role.save()
     return role
 
 def delete_role(auth, name):
-    client = auth_check(auth)
+    driver = OpenStackDriver(client = auth_check(auth))   
     role = Role.objects.filter(role_type=name)
-    client.keystone.roles.delete(role.role_id)
+    driver.delete_role(name) 
     role.delete()
     return 1
 
diff --git a/plstackapi/util/json.py b/plstackapi/util/json.py
deleted file mode 100644
index ceb6dc9..0000000
--- a/plstackapi/util/json.py
+++ /dev/null
@@ -1,7 +0,0 @@
-import json
-
-def parse_request(request):
-    d = {}
-    for (k,v) in request.items():
-        d[k] = json.loads(v) 
-
diff --git a/plstackapi/util/jsonhelper.py b/plstackapi/util/jsonhelper.py
deleted file mode 100644
index ceb6dc9..0000000
--- a/plstackapi/util/jsonhelper.py
+++ /dev/null
@@ -1,7 +0,0 @@
-import json
-
-def parse_request(request):
-    d = {}
-    for (k,v) in request.items():
-        d[k] = json.loads(v) 
-