diff --git a/files/named.conf.default-zones b/files/named.conf.default-zones
index 6b13d53..843e6cc 100644
--- a/files/named.conf.default-zones
+++ b/files/named.conf.default-zones
@@ -1,28 +1,28 @@
 // prime the server with knowledge of the root servers
 zone "." {
-      type hint;
-      file "/etc/bind/db.root";
+     type hint;
+     file "/etc/bind/db.root";
 };
 
 // be authoritative for the localhost forward and reverse zones, and for
 // broadcast zones as per RFC 1912
 
 zone "localhost" {
-      type master;
-      file "/etc/bind/db.local";
+     type master;
+     file "/etc/bind/db.local";
 };
 
 zone "127.in-addr.arpa" {
-      type master;
-      file "/etc/bind/db.127";
+     type master;
+     file "/etc/bind/db.127";
 };
 
 zone "0.in-addr.arpa" {
-      type master;
-      file "/etc/bind/db.0";
+     type master;
+     file "/etc/bind/db.0";
 };
 
 zone "255.in-addr.arpa" {
-      type master;
-      file "/etc/bind/db.255";
+     type master;
+     file "/etc/bind/db.255";
 };
\ No newline at end of file
diff --git a/files/named.conf.options b/files/named.conf.options
index 80ee0a3..a503699 100644
--- a/files/named.conf.options
+++ b/files/named.conf.options
@@ -1,21 +1,21 @@
+{%- from "bind/map.jinja" import server with context %}
 options {
-        directory "/var/cache/bind";
+     directory "/var/cache/bind";
+     // If there is a firewall between you and nameservers you want
+     // to talk to, you may need to fix the firewall to allow multiple
+     // ports to talk. See http://www.kb.cert.org/vuls/id/800113
 
-        // If there is a firewall between you and nameservers you want
-        // to talk to, you may need to fix the firewall to allow multiple
-        // ports to talk. See http://www.kb.cert.org/vuls/id/800113
+     // If your ISP provided one or more IP addresses for stable
+     // nameservers, you probably want to use them as forwarders.
+     // Uncomment the following block, and insert the addresses replacing
+     // the all-0's placeholder.
 
-        // If your ISP provided one or more IP addresses for stable
-        // nameservers, you probably want to use them as forwarders.
-        // Uncomment the following block, and insert the addresses replacing
-        // the all-0's placeholder.
+     // forwarders {
+     // 0.0.0.0;
+     // };
 
-        // forwarders {
-        // 0.0.0.0;
-        // };
-
-        auth-nxdomain no; # conform to RFC1035
-        {% if salt['pillar.get']('bind:config:ipv6', 'False') %}
-        listen-on-v6 { {{ salt['pillar.get']('bind:config:ipv6_listen', 'any') }}; };
-        {% endif %}
+     auth-nxdomain no; # conform to RFC1035
+     {%- if server.get('ipv6_enabled', 'False') %}
+     listen-on-v6 { {{ server.get('ipv6_listen', 'any') }}; };
+     {%- endif %}
 };
\ No newline at end of file
