diff --git a/goblin/api.py b/goblin/api.py
index bdddbd175bf75ca33609bb37bc3128435f162019..0a0b5c23902c4986232e9be1f74c8d5e9137fcdb 100644
--- a/goblin/api.py
+++ b/goblin/api.py
@@ -309,10 +309,15 @@ class Edge(metaclass=meta.ElementMeta):
 
 class VertexProperty(metaclass=meta.ElementMeta):
 
+    __data_type__ = None
+
     def __init__(self, value):
         self._value = value
 
+    @property
+    def value(self):
+        return self._value
+
     def __repr__(self):
         return '<{}(type={}, value={})'.format(self.__class__.__name__,
-                                               self.__data_type__,
-                                               self._value)
+                                               self.__data_type__, self.value)
diff --git a/goblin/driver/api.py b/goblin/driver/api.py
index 24154de34145fe8077ad46964370f7be4f85a6c6..22ab80d15c48ddab174c2a0ed4e7b4cc247a3efc 100644
--- a/goblin/driver/api.py
+++ b/goblin/driver/api.py
@@ -18,6 +18,6 @@ class GremlinServer:
         if client_session is None:
             client_session = aiohttp.ClientSession(loop=loop)
         ws = await client_session.ws_connect(url)
-        return connection.Connection(ws, loop, client_session,
+        return connection.Connection(url, ws, loop, client_session,
                                      force_close=force_close,
                                      username=username, password=password)
diff --git a/goblin/driver/connection.py b/goblin/driver/connection.py
index f4bd98a6a0ff4773c014814c14962b2ebf409983..3fbb2ac4849e63fa7a28df7440fbff4c83001dd0 100644
--- a/goblin/driver/connection.py
+++ b/goblin/driver/connection.py
@@ -53,15 +53,13 @@ class AbstractConnection(abc.ABC):
 
 class Connection(AbstractConnection):
 
-    def __init__(self, ws, loop, conn_factory, *, force_close=True,
-                 force_release=False, pool=None, username=None,
-                 password=None):
+    def __init__(self, url, ws, loop, conn_factory, *, force_close=True,
+                 username=None, password=None):
+        self._url = url
         self._ws = ws
         self._loop = loop
         self._conn_factory = conn_factory
         self._force_close = force_close
-        self._force_release = force_release
-        self._pool = pool
         self._username = username
         self._password = password
         self._closed = False
@@ -79,14 +77,6 @@ class Connection(AbstractConnection):
     def force_close(self):
         return self._force_close
 
-    @property
-    def force_release(self):
-        return self._force_release
-
-    async def release(self):
-        if self.pool:
-            await self.pool.release(self)
-
     async def submit(self,
                     gremlin,
                     *,
@@ -111,6 +101,8 @@ class Connection(AbstractConnection):
                                         request_id)
         response_queue = asyncio.Queue(loop=self._loop)
         self.response_queues[request_id] = response_queue
+        if self._ws.closed:
+            self._ws = await self.conn_factory.ws_connect(self._url)
         self._ws.send_bytes(message)
         self._loop.create_task(self.receive())
         return Response(response_queue, self._loop)
@@ -118,7 +110,6 @@ class Connection(AbstractConnection):
     async def close(self):
         await self._ws.close()
         self._closed = True
-        self._pool = None
         await self._conn_factory.close()
 
     def _prepare_message(self, gremlin, bindings, lang, aliases, op,
@@ -198,8 +189,6 @@ class Connection(AbstractConnection):
     async def term(self):
         if self._force_close:
             await self.close()
-        elif self._force_release:
-            await self.release()
 
     async def __aenter__(self):
         return self
@@ -207,4 +196,3 @@ class Connection(AbstractConnection):
     async def __aexit__(self, exc_type, exc, tb):
         await self.close()
         self._conn = None
-        self._pool = None
diff --git a/goblin/mapper.py b/goblin/mapper.py
index da15b010b02b9d2af1a22bedc5f125d68ce19677..3521153ea6f87290774c39fe96ebd4ef8208e583 100644
--- a/goblin/mapper.py
+++ b/goblin/mapper.py
@@ -82,7 +82,5 @@ class Mapping:
 
     def __repr__(self):
         return '<{}(type={}, label={}, properties={})'.format(
-            self.__class__.__name__,
-            self._type,
-            self._label,
+            self.__class__.__name__, self._type, self._label,
             self._properties)