diff --git a/repl/__pycache__/utils.cpython-36.pyc b/repl/__pycache__/utils.cpython-36.pyc
index 9f73514557b08e53d1a0998a9c86d59e4ba85e91..4922f5d0ecb0c2f5f5ed6c19480051db0aae8658 100644
Binary files a/repl/__pycache__/utils.cpython-36.pyc and b/repl/__pycache__/utils.cpython-36.pyc differ
diff --git a/repl/utils.py b/repl/utils.py
index 9e6e432626db2244bbec6fc8ad7fa3038287c425..2e86f94d62fe3d724ad4a7804a2020b8d0cd16d6 100644
--- a/repl/utils.py
+++ b/repl/utils.py
@@ -26,11 +26,18 @@ def get_current_date(short=False):
 
 def get_jobs(server, port):
     try:
-        req = requests.get("http://{}:{}/_scheduler/jobs".format(server, port))
+        req = requests.get("http://{}:{}/_scheduler/jobs".format(server, port), verify=False, timeout=0.1)
         return req.json().get("jobs", [])
     except:
         return []
 
+def get_server():
+    try:
+        req = requests.get("http://localhost:5984/vl_db/000_SERVERS")
+        return req.json().get("Servers", [])
+    except:
+        return []
+    
 def gen_count():
     i = 0
     while True:
@@ -50,12 +57,21 @@ def get_info(url, srv):
 def gen_ext_name(d, h):
     return "{}@{}".format(d, h)
 
+def make_label(job):
+    hist = job.get("history")
+    l = ""
+    for h in hist:
+        s = h.get("type")[0]
+        l = "{s} {l}".format(l = l, s = s)
+    return l
+
 def get_nodes_and_edges(jobs, gen, hosts, dbs, nodes, edges, srv):
    
     for job in jobs:
         s = job.get("source")
         t = job.get("target")
-
+        
+        e_label = make_label(job)
         if s and t:
             s_db, s_host = get_info(s, srv)
             t_db, t_host = get_info(t, srv)
@@ -64,22 +80,35 @@ def get_nodes_and_edges(jobs, gen, hosts, dbs, nodes, edges, srv):
 
             if s_host not in hosts:
                 hosts[s_host] = gen.__next__()
-                nodes.append({"id": hosts[s_host], "label": s_host, "group": "server" })
+                nodes.append({"id": hosts[s_host],
+                              "label": s_host,
+                              "group": "server" })
                  
             if t_host not in hosts:
                 hosts[t_host] = gen.__next__()
-                nodes.append({"id": hosts[t_host], "label": t_host, "group": "server"})
+                nodes.append({"id": hosts[t_host],
+                              "label": t_host,
+                              "group": "server"})
 
             if s_db_name not in dbs:
                 dbs[s_db_name] = gen.__next__()
-                nodes.append({"id": dbs[s_db_name], "label": s_db, "group": "db"})
+                nodes.append({"id": dbs[s_db_name],
+                              "label": s_db,
+                              "group": "db"})
 
             if t_db_name not in dbs:
                 dbs[t_db_name] = gen.__next__()
                 nodes.append({"id": dbs[t_db_name], "label": t_db, "group": "db"})
                     
-            edges.append({"from": dbs[s_db_name] , "to":dbs[t_db_name] , "arrow_type": "to" })
-            edges.append({"from": hosts[s_host] , "to":dbs[s_db_name], "arrow_type":"box"})
-            edges.append({"from": hosts[t_host] , "to":dbs[t_db_name], "arrow_type":"box"})
+            edges.append({"from": dbs[s_db_name] ,
+                          "to":dbs[t_db_name] ,
+                          "arrow_type": "to" ,
+                          "label" : e_label})
+            edges.append({"from": hosts[s_host] ,
+                          "to":dbs[s_db_name],
+                          "arrow_type":"to"})
+            edges.append({"from": hosts[t_host] ,
+                          "to":dbs[t_db_name],
+                          "arrow_type":"from"})
 
     return nodes, edges
diff --git a/server.py b/server.py
index ca165875d88c113b36a55fabc81ad216f158d67c..0465c1c58d34cd2171c72f023e9775743a90a7a0 100644
--- a/server.py
+++ b/server.py
@@ -17,10 +17,10 @@ def repl_all():
     dbs = {}
     nodes = []
     edges = []
-    
-    for srv in ("a73434","a73435", "i75422", "i75464", "e75455", "i75415"):
-        jobs = utils.get_jobs(srv, 5984)
-        nodes, edges = utils.get_nodes_and_edges(jobs, gen, hosts, dbs, nodes, edges, srv)
+    srvs = utils.get_server()
+    for srv in srvs:
+        jobs = utils.get_jobs(srv.get("name"), srv.get("port"))
+        nodes, edges = utils.get_nodes_and_edges(jobs, gen, hosts, dbs, nodes, edges, srv.get("name"))
         
     template = utils.path_file(path=config['templates']['html'], file='all.html')
     return render_template(template, nodes=nodes, edges=edges)
diff --git a/templates/html/all.html b/templates/html/all.html
index 620eb8eea597e38c02e5bf7573f53bd5a1841a9a..c3437097d51c7575cfcc7a607314c910bf7dc2a7 100644
--- a/templates/html/all.html
+++ b/templates/html/all.html
@@ -40,7 +40,7 @@
 
 <footer class="footer mt-auto py-3">
   <div class="container">
-    <span class="text-muted">.</span>
+    <span class="text-muted"><b>a</b>: added, <b>s</b>: started, <b>c:</b> crasched</span>
   </div>
 </footer>
 
@@ -49,38 +49,40 @@
 <script type="text/javascript" charset="utf8" src="../js/bootstrap.min.js"></script>
 <script type="text/javascript" charset="utf8" src="../js/vis-network.min.js"></script>
 <script type="text/javascript" charset="utf8">
-   var nodes = new vis.DataSet([
-     {% for node in nodes %}
-     {id: {{node.id}}, label: "{{node.label}}" , group: "{{node.group}}" },
-     {%endfor%}
-   ]);
-
+  var nodes = new vis.DataSet([
+  {% for node in nodes %}
+  {id: {{node.id}}, label: "{{node.label}}" , group: "{{node.group}}" },
+  {%endfor%}
+  ]);
+  
   var edges = new vis.DataSet([
-     {% for edge in edges %}
-     {from: {{edge.from}}, to: {{edge.to}} ,  arrows:"{{edge.arrow_type}}" , shadow: { color: "#FF9900" }},
-     {%endfor%}
-   ]);
+  {% for edge in edges %}
+  {from: {{edge.from}},
+  to: {{edge.to}} ,
+  arrows:"{{edge.arrow_type}}" ,
+  label : "{{edge.label|safe}}",
+  font: { multi: "md" }},
+  {%endfor%}
+  ]);
   var container = document.getElementById('net');
   var data = {
-        nodes: nodes,
-        edges: edges
-    };
+  nodes: nodes,
+  edges: edges
+  };
   
-   var options = {
-    edges: {
-      smooth: false
-    },
-    groups: {
-      server: {
-        shape: "box",
-        color: "#FF9900" 
-      },
-    db: {
-        shape: "box"
-      }}}
-    // initialize your network!
-   var network = new vis.Network(container, data, options);
-
- </script>
-</body>
+  var options = {
+  edges: {
+  smooth: true
+  },
+  groups: {
+  server: {
+  shape: "box",
+  color: "#FF9900" 
+  },
+  db: {
+  shape: "database"
+  }}}
+  var network = new vis.Network(container, data, options);
+</script>
+  </body>
 </html>