diff --git a/salt/files/master.conf b/salt/files/master.conf
index 48322e9..b9fbf38 100644
--- a/salt/files/master.conf
+++ b/salt/files/master.conf
@@ -8,14 +8,14 @@
 
 file_roots:
   base:
-  - /srv/salt/env/{{ master.system.environment }}
+  - {{ master.dir.files }}/{{ master.system.environment }}
   {%- for formula_name, formula in master.system.get('formula', {}).iteritems() %}
-  - /srv/salt/env/{{ master.system.environment }}/{{ formula_name }}
+  - {{ master.dir.files }}/{{ master.system.environment }}/{{ formula_name }}
   {%- endfor %}
   {{ master.system.environment }}:
-  - /srv/salt/env/{{ master.system.environment }}
+  - {{ master.dir.files }}/{{ master.system.environment }}
   {%- for formula_name, formula in master.system.get('formula', {}).iteritems() %}
-  - /srv/salt/env/{{ master.system.environment }}/{{ formula_name }}
+  - {{ master.dir.files }}/{{ master.system.environment }}/{{ formula_name }}
   {%- endfor %}
 
 {%- else %}
@@ -24,10 +24,10 @@
   {%- for environment_name, environment in master.get('environment', {}).iteritems() %}
   {%- if master.base_environment == environment_name %}
   base:
-  - /srv/salt/env/{{ environment_name }}
+  - {{ master.dir.files }}/{{ environment_name }}
   {%- endif %}
   {{ environment_name }}:
-  - /srv/salt/env/{{ environment_name }}
+  - {{ master.dir.files }}/{{ environment_name }}
   {%- endfor %}
 
 {%- endif %}
diff --git a/salt/map.jinja b/salt/map.jinja
index efbcbcd..9ba416a 100644
--- a/salt/map.jinja
+++ b/salt/map.jinja
@@ -1,128 +1,108 @@
 
-{% set master = salt['grains.filter_by']({
-    'Arch': {
-        'pkgs': ['salt-zmq'],
-        'service': 'salt-master',
-        'pillar': {
-            'engine': 'salt',
-        },
-        'accept_policy': 'preseed',
-        'bind': {},
-        'formula': {},
-        'base_environment': 'dev',
-    },
-    'Debian': {
-        'pkgs': ['salt-master'],
-        'service': 'salt-master',
-        'pillar': {
-            'engine': 'salt',
-        },
-        'accept_policy': 'preseed',
-        'bind': {},
-        'formula': {},
-        'base_environment': 'dev',
-    },
-    'Gentoo': {
-        'pkgs': ['app-admin/salt'],
-        'service': 'salt-master',
-        'pillar': {
-            'engine': 'salt',
-        },
-        'accept_policy': 'preseed',
-        'bind': {},
-        'formula': {},
-        'base_environment': 'dev',
-    },
-    'MacOS': {
-        'pkgs': ['saltstack'],
-        'service': 'salt-master',
-        'pillar': {
-            'engine': 'salt',
-        },
-        'accept_policy': 'preseed',
-        'bind': {},
-        'formula': {},
-        'base_environment': 'dev',
-    },
-    'RedHat': {
-        'pkgs': ['salt-master'],
-        'service': 'salt-master',
-        'pillar': {
-            'engine': 'salt',
-        },
-        'accept_policy': 'preseed',
-        'bind': {},
-        'formula': {},
-        'base_environment': 'dev',
-    },
-}, merge=salt['pillar.get']('salt:master')) %}
+{%- load_yaml as master_common %}
+default:
+  service: salt-master
+  accept_policy: preseed
+  bind: {}
+  formula: {}
+  base_environment: dev
+  dir:
+    files: /srv/salt/env
+  pillar:
+    engine: salt
+{%- endload %}
 
-{% set minion = salt['grains.filter_by']({
-    'Arch': {
-        'pkgs': ['salt-zmq'],
-        'graph_pkgs': ['graphviz'],
-        'graph_states_pkgs': ['python-pydot', 'python-yaml'],
-        'graph_states': False,
-        'service': 'salt-minion',
-    },
-    'Debian': {
-        'pkgs': ['salt-minion'],
-        'graph_pkgs': ['graphviz'],
-        'graph_states_pkgs': ['python-pydot', 'python-yaml'],
-        'graph_states': False,
-        'service': 'salt-minion',
-    },
-    'Gentoo': {
-        'pkgs': ['app-admin/salt'],
-        'graph_pkgs': ['graphviz'],
-        'graph_states_pkgs': ['python-pydot', 'python-yaml'],
-        'graph_states': False,
-        'service': 'salt-minion',
-    },
-    'MacOS': {
-        'pkgs': ['saltstack'],
-        'graph_pkgs': ['graphviz'],
-        'graph_states_pkgs': ['python-pydot', 'python-yaml'],
-        'graph_states': False,
-        'service': 'salt-minion',
-    },
-    'RedHat': {
-        'pkgs': ['salt-minion'],
-        'graph_pkgs': ['graphviz'],
-        'graph_states_pkgs': ['python-pydot', 'python-yaml'],
-        'graph_states': False,
-        'service': 'salt-minion',
-    },
-}, merge=salt['pillar.get']('salt:minion')) %}
+{%- load_yaml as master_specific %}
+Arch:
+  pkgs:
+  - salt-zmq
+Debian:
+  pkgs:
+  - salt-master
+Gentoo:
+  pkgs:
+  - app-admin/salt
+MacOS:
+  pkgs:
+  - saltstack
+RedHat:
+  pkgs:
+  - salt-master
+{%- endload %}
+
+{%- set raw_master = salt['grains.filter_by'](master_specific, merge=salt['pillar.get']('salt:master')) %}
+{%- set master = salt['grains.filter_by'](master_common, merge=raw_master) %}
 
 
-{% set api = salt['grains.filter_by']({
-    'Debian': {
-        'pkgs': ['salt-api'],
-        'service': 'salt-api',
-    },
-    'RedHat': {
-        'pkgs': ['salt-api'],
-        'service': 'salt-api',
-    },
-}, merge=salt['pillar.get']('salt:api')) %}
+{%- load_yaml as minion_common %}
+default:
+  graph_pkgs: 
+  - graphviz
+  graph_states_pkgs: 
+  - python-pydot
+  - python-yaml
+  graph_states: False
+  service: salt-minion
+{%- endload %}
+
+{%- load_yaml as minion_specific %}
+Arch:
+  pkgs: 
+  - salt-zmq
+Debian:
+  pkgs:
+  - salt-minion
+Gentoo:
+  pkgs: 
+  - app-admin/salt
+MacOS:
+  pkgs:
+  - saltstack
+RedHat:
+  pkgs:
+  - salt-minion
+{%- endload %}
+
+{%- set raw_minion = salt['grains.filter_by'](minion_specific, merge=salt['pillar.get']('salt:minion')) %}
+{%- set minion = salt['grains.filter_by'](minion_common, merge=raw_minion) %}
 
 
-{% set control = salt['grains.filter_by']({
-    'Debian': {
-        'cloud_pips': ['apache-libcloud', 'netaddr'],
-        'cloud_pkgs': ['python-netaddr', 'python-libcloud'],
-        'virt_pips': ['libvirt-python',],
-        'virt_pkgs': ['libvirt-dev', 'pkg-config', 'libguestfs-tools'],
-        'maas_pkgs': ['python-maas-client',],
-        'cluster': {},
-    },
-    'RedHat': {
-        'cloud_pips': ['apache-libcloud', 'netaddr'],
-        'cloud_pkgs': ['python-netaddr', 'python-libcloud'],
-        'virt_pips': ['libvirt-python',],
-        'virt_pkgs': ['libvirt-dev', 'pkg-config'],
-        'maas_pkgs': ['python-maas-client',],
-        'cluster': {},
-    },
-}, merge=salt['pillar.get']('salt:control')) %}
+{%- load_yaml as api_common %}
+default:
+  pkgs:
+  - salt-api
+  service: salt-api
+{%- endload %}
+
+{%- set api = salt['grains.filter_by'](api_common, merge=salt['pillar.get']('salt:api')) %}
+
+{%- load_yaml as control_common %}
+default:
+  cloud_pips: 
+  - apache-libcloud
+  - netaddr
+  cloud_pkgs: 
+  - python-netaddr
+  - python-libcloud
+  virt_pips: 
+  - libvirt-python
+  maas_pkgs: 
+  - python-maas-client
+  cluster: {}
+{%- endload %}
+
+{%- load_yaml as control_specific %}
+Debian:
+  virt_pkgs: 
+  - libvirt-dev
+  - pkg-config
+  - libguestfs-tools
+RedHat:
+  virt_pkgs: 
+  - libvirt-dev
+  - pkg-config
+{%- endload %}
+
+{%- set raw_control = salt['grains.filter_by'](control_specific, merge=salt['pillar.get']('salt:control')) %}
+{%- set control = salt['grains.filter_by'](control_common, merge=raw_control) %}
+
