diff --git a/configdb/db/interface/etcd_interface.py b/configdb/db/interface/etcd_interface.py
index 682ed27f5d064f2419d6a6ae55816b06931ff4c5..faef00cba08135b5bc87c49d863941588f21bbde 100644
--- a/configdb/db/interface/etcd_interface.py
+++ b/configdb/db/interface/etcd_interface.py
@@ -4,7 +4,7 @@ import etcd
 import cPickle as pickle
 import os
 from urlparse import urlparse
-
+from configdb.db.interface import inmemory_interface
 
 class EtcdSession(object):
     """A EtcdInterface session."""
@@ -43,7 +43,7 @@ class EtcdSession(object):
         pass
 
 
-class EtcdInterface(base,DbInterface):
+class EtcdInterface(base.DbInterface):
     """Database interface for an Etcd backend.
 
     This needs the 'python-etcd' library, available at:
@@ -54,10 +54,14 @@ class EtcdInterface(base,DbInterface):
 
     def __init__(self, url, schema, root='/configdb', timeout=30):
         self.root = root
-        res =
+        try:
+            p = urlparse(url)
+            host, port = p.netloc.split(':')
+        except ValueError:
+            raise ValueError('Url {} is not in the host:port format'.format(p.netloc))
+
+        self.conn = etcd.Client(host=host, port=port, protocol = p.schema, allow_reconnect = True)
 
-        self.conn = etcd.Client()
-        pass
 
     def _serialize(self, obj):
         return pickle.dumps(obj, protocol=pickle.HIGHEST_PROTOCOL)
@@ -75,6 +79,8 @@ class EtcdInterface(base,DbInterface):
         raise NotImplementedError
 
     def create(self, entity_name, attrs, session):
+        entity = self.schema.get_entity(entity_name)
+        object =
         raise NotImplementedError
 
     def delete(self, entity_name, object_name, session):