diff --git a/files/logrotate b/files/logrotate
new file mode 100644
index 0000000..174b74b
--- /dev/null
+++ b/files/logrotate
@@ -0,0 +1,11 @@
+/var/log/bind9/query.log {
+    rotate 7
+    daily
+    missingok
+    notifempty
+    sharedscripts
+    copytruncate
+    compress
+    create 0664 bind root
+    su
+}
\ No newline at end of file
diff --git a/files/named.conf b/files/named.conf
new file mode 100644
index 0000000..5134e55
--- /dev/null
+++ b/files/named.conf
@@ -0,0 +1,11 @@
+// This is the primary configuration file for the BIND DNS server named.
+//
+// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
+// structure of BIND configuration files in Debian, *BEFORE* you customize
+// this configuration file.
+//
+// If you are just adding zones, please do that in /etc/bind/named.conf.local
+
+include "/etc/bind/named.conf.options";
+include "/etc/bind/named.conf.local";
+include "/etc/bind/named.conf.default-zones";
\ No newline at end of file
diff --git a/files/named.conf.default-zones b/files/named.conf.default-zones
new file mode 100644
index 0000000..6b13d53
--- /dev/null
+++ b/files/named.conf.default-zones
@@ -0,0 +1,28 @@
+// prime the server with knowledge of the root servers
+zone "." {
+      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";
+};
+
+zone "127.in-addr.arpa" {
+      type master;
+      file "/etc/bind/db.127";
+};
+
+zone "0.in-addr.arpa" {
+      type master;
+      file "/etc/bind/db.0";
+};
+
+zone "255.in-addr.arpa" {
+      type master;
+      file "/etc/bind/db.255";
+};
\ No newline at end of file
diff --git a/files/named.conf.local b/files/named.conf.local
new file mode 100644
index 0000000..d7f9b6b
--- /dev/null
+++ b/files/named.conf.local
@@ -0,0 +1,31 @@
+//
+// Do any local configuration here
+//
+
+// Consider adding the 1918 zones here, if they are not used in your
+// organization
+//include "/etc/bind/zones.rfc1918";
+
+{% for key,args in salt['pillar.get']('bind:configured_zones', {}).iteritems() -%}
+{%- set file = salt['pillar.get']("available_zones:" + key + ":file") %}
+{%- set masters = salt['pillar.get']("available_zones:" + key + ":masters") %}
+zone "{{ key }}" {
+  type {{ args['type'] }};
+  file "zones/{{ file }}";
+  {% if args['type'] == "master" -%}
+    {% if args['notify'] -%}
+  notify yes;
+    {% else -%}
+  notify no;
+    {%- endif -%}
+  {% else -%}
+  notify no;
+  masters { {{ masters }} };
+  {%- endif %}
+};
+{% endfor %}
+
+logging {
+  channel "querylog" { file "/var/log/bind9/query.log"; print-time yes; };
+  category queries { querylog; };
+};
\ No newline at end of file
diff --git a/files/named.conf.options b/files/named.conf.options
new file mode 100644
index 0000000..80ee0a3
--- /dev/null
+++ b/files/named.conf.options
@@ -0,0 +1,21 @@
+options {
+        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 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;
+        // };
+
+        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 %}
+};
\ No newline at end of file
