diff --git a/network/templates/network/host-list.html b/network/templates/network/host-list.html
index e4229e6..9820db1 100644
--- a/network/templates/network/host-list.html
+++ b/network/templates/network/host-list.html
@@ -9,5 +9,13 @@
   <h1>Hosts <small>list of all hosts</small></h1>
 </div>
 
+<ul class="nav nav-pills">
+    <li class="disabled"><a href="#">Filter by vlans</a></li>
+    <li {% if not request.GET.vlan %} class="active"{% endif %}><a href="{{ request.path }}">ALL</a></li>
+    {% for vlan in vlans %}
+    <li{% if request.GET.vlan|add:"0" == vlan.id %} class="active"{% endif %}><a href="?vlan={{ vlan.id }}">{{ vlan.name }}</a></li>
+    {% endfor %}
+</ul>
+
 {% render_table table %}
 {% endblock %}
diff --git a/network/views.py b/network/views.py
index 453fad5..0a2e980 100644
--- a/network/views.py
+++ b/network/views.py
@@ -34,6 +34,22 @@ class HostList(SingleTableView):
     table_class = HostTable
     template_name = "network/host-list.html"
 
+    def get_context_data(self, **kwargs):
+        context = super(HostList, self).get_context_data(**kwargs)
+        q = Vlan.objects.all().order_by("name")
+        context['vlans'] = q
+        return context
+
+    def get_table_data(self):
+        vlan_id = self.request.GET.get('vlan')
+        print vlan_id
+        if vlan_id:
+            data = Host.objects.filter(vlan=vlan_id).all()
+        else:
+            data = Host.objects.all()
+
+        return data
+
 
 class HostDetail(UpdateView):
     model = Host