diff --git a/horizon/conf/manage-site.py b/horizon/conf/manage-site.py
deleted file mode 100644
index 31bbd2b..0000000
--- a/horizon/conf/manage-site.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-{%- set app = salt['pillar.get']('horizon:server:app:'+app_name) %}
-
-import sys
-import os
-
-from os.path import join
-
-path = '/srv/horizon'
-
-sys.path.append(join(path, 'lib', 'python2.7', 'site-packages'))
-sys.path.append(join(path, 'sites', '{{ app_name }}', 'lib'))
-
-{%- if app.plugin is defined %}
-{%- for plugin_name, plugin in app.plugin.iteritems() %}
-sys.path.append('/srv/horizon/sites/{{ app_name }}/plugins/{{ plugin_name }}')
-{%- endfor %}
-{%- endif %}
-
-from django.core.management import execute_from_command_line
-
-if __name__ == "__main__":
-    os.environ.setdefault("DJANGO_SETTINGS_MODULE",
-                          "openstack_dashboard.settings")
-    execute_from_command_line(sys.argv)
diff --git a/horizon/conf/manage.py b/horizon/conf/manage.py
deleted file mode 100644
index 94e0b04..0000000
--- a/horizon/conf/manage.py
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-{%- from "horizon/map.jinja" import server with context %}
-
-import sys
-import os
-
-sys.path.append("/usr/share/openstack-dashboard") 
-
-{# old way #}
-{%- for plugin in server.get('plugins', []) %}
-sys.path.append('/srv/horizon/plugins/{{ plugin.name }}')
-{%- endfor %}
-
-{# new way #}
-{%- for plugin_name, plugin in server.get('plugin', {}).iteritems() %}
-sys.path.append('/srv/horizon/plugins/{{ plugin_name }}')
-{%- endfor %}
-
-from django.core.management import execute_from_command_line
-
-if __name__ == "__main__":
-    os.environ.setdefault("DJANGO_SETTINGS_MODULE",
-                          "openstack_dashboard.settings")
-    execute_from_command_line(sys.argv)
diff --git a/horizon/conf/requirements.txt b/horizon/conf/requirements.txt
deleted file mode 100755
index 658c8be..0000000
--- a/horizon/conf/requirements.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-# PBR should always appear first
-pbr>=0.6,!=0.7,<1.0
-# Horizon Core Requirements
-Django>=1.4.2,<1.7
-django_compressor>=1.4
-django_openstack_auth>=1.1.7
-django-pyscss>=1.0.3 # BSD License (2 clause)
-eventlet>=0.15.1
-httplib2>=0.7.5
-iso8601>=0.1.9
-kombu>=2.5.0
-# Horizon Utility Requirements
-# for SECURE_KEY generation
-lockfile>=0.8
-netaddr>=0.7.12
-pyScss>=1.2.1,<1.3 # MIT License
-python-ceilometerclient>=1.0.6
-python-cinderclient>=1.1.0
-python-glanceclient>=0.14.0
-python-heatclient>=0.2.9
-python-keystoneclient>=0.10.0
-python-neutronclient>=2.3.6,<3
-python-novaclient>=2.18.0
-python-saharaclient>=0.7.3
-python-swiftclient>=2.2.0
-python-troveclient>=1.0.4
-pytz
-six>=1.7.0
-requests==2.1.0
-raven>=3.5.2
-gunicorn>=18.0
-oslo.i18n
-xstatic>=1.0.0 # MIT License
-xstatic-angular>=1.2.1.1 # MIT License
-xstatic-angular-cookies>=1.2.1.1 # MIT License
-xstatic-angular-mock>=1.2.1.1 # MIT License
-xstatic-bootstrap-datepicker>=1.3.1.0 # Apache 2.0 License
-xstatic-bootstrap-scss>=3 # Apache 2.0 License
-xstatic-d3>=3.1.6.2 # BSD License (3 clause)
-xstatic-hogan>=2.0.0.2 # Apache 2.0 License
-xstatic-font-awesome>=4.1.0 # SIL OFL 1.1 License, MIT License
-xstatic-jasmine>=1.3.1.1 # MIT License
-xstatic-jquery>=1.7.2 # MIT License
-xstatic-jquery-migrate>=1.2.1.1 # MIT License
-xstatic-jquery.quicksearch>=2.0.3.1 # MIT License
-xstatic-jquery.tablesorter>=2.0.5b.0 # MIT License
-xstatic-jquery-ui>=1.10.1 # MIT License
-xstatic-jsencrypt>=2.0.0.2 # MIT License
-xstatic-qunit>=1.14.0.2 # MIT License
-xstatic-rickshaw>=1.5.0 # BSD License (prior)
-xstatic-spin>=1.2.5.2 # MIT License
\ No newline at end of file
diff --git a/horizon/conf/server.wsgi b/horizon/conf/server.wsgi
deleted file mode 100644
index c67fcb7..0000000
--- a/horizon/conf/server.wsgi
+++ /dev/null
@@ -1,32 +0,0 @@
-
-{%- set app = salt['pillar.get']('horizon:server:app:'+app_name) %}
-
-
-import os
-import sys
-
-sys.stdout = sys.stderr
-
-sys.path.append('/srv/horizon/site')
-
-import site
-
-site.addsitedir('/srv/horizon/lib/python2.7/site-packages')
-
-# Avoid ``[Errno 13] Permission denied: '/var/www/.python-eggs'`` messages
-
-import os
-#os.environ['PYTHON_EGG_CACHE'] = '/www/lostquery.com/mod_wsgi/egg-cache'
-
-sys.path.append('/srv/horizon/site')
-{%- if pillar.horizon.server.plugins is defined %}
-{%- for plugin in pillar.horizon.server.plugins %}
-sys.path.append('/srv/horizon/plugins/{{ plugin.name }}')
-{%- endfor %}
-{%- endif %}
-
-os.environ['DJANGO_SETTINGS_MODULE'] = 'openstack_dashboard.settings'
-
-import django.core.handlers.wsgi
-
-application = django.core.handlers.wsgi.WSGIHandler()
diff --git a/horizon/conf/ssl.conf.RedHat b/horizon/conf/ssl.conf.RedHat
deleted file mode 100644
index 56ce3bb..0000000
--- a/horizon/conf/ssl.conf.RedHat
+++ /dev/null
@@ -1,222 +0,0 @@
-#
-# This is the Apache server configuration file providing SSL support.
-# It contains the configuration directives to instruct the server how to
-# serve pages over an https connection. For detailing information about these 
-# directives see <URL:http://httpd.apache.org/docs/2.2/mod/mod_ssl.html>
-# 
-# Do NOT simply read the instructions in here without understanding
-# what they do.  They're here only as hints or reminders.  If you are unsure
-# consult the online docs. You have been warned.  
-#
-
-LoadModule ssl_module modules/mod_ssl.so
-
-#
-# When we also provide SSL we have to listen to the 
-# the HTTPS port in addition.
-#
-Listen {{ pillar.horizon.server.bind.address }}:443
-
-##
-##  SSL Global Context
-##
-##  All SSL configuration in this context applies both to
-##  the main server and all SSL-enabled virtual hosts.
-##
-
-#   Pass Phrase Dialog:
-#   Configure the pass phrase gathering process.
-#   The filtering dialog program (`builtin' is a internal
-#   terminal dialog) has to provide the pass phrase on stdout.
-SSLPassPhraseDialog  builtin
-
-#   Inter-Process Session Cache:
-#   Configure the SSL Session Cache: First the mechanism 
-#   to use and second the expiring timeout (in seconds).
-SSLSessionCache         shmcb:/var/cache/mod_ssl/scache(512000)
-SSLSessionCacheTimeout  300
-
-#   Semaphore:
-#   Configure the path to the mutual exclusion semaphore the
-#   SSL engine uses internally for inter-process synchronization. 
-SSLMutex default
-
-#   Pseudo Random Number Generator (PRNG):
-#   Configure one or more sources to seed the PRNG of the 
-#   SSL library. The seed data should be of good random quality.
-#   WARNING! On some platforms /dev/random blocks if not enough entropy
-#   is available. This means you then cannot use the /dev/random device
-#   because it would lead to very long connection times (as long as
-#   it requires to make more entropy available). But usually those
-#   platforms additionally provide a /dev/urandom device which doesn't
-#   block. So, if available, use this one instead. Read the mod_ssl User
-#   Manual for more details.
-SSLRandomSeed startup file:/dev/urandom  256
-SSLRandomSeed connect builtin
-#SSLRandomSeed startup file:/dev/random  512
-#SSLRandomSeed connect file:/dev/random  512
-#SSLRandomSeed connect file:/dev/urandom 512
-
-#
-# Use "SSLCryptoDevice" to enable any supported hardware
-# accelerators. Use "openssl engine -v" to list supported
-# engine names.  NOTE: If you enable an accelerator and the
-# server does not start, consult the error logs and ensure
-# your accelerator is functioning properly. 
-#
-SSLCryptoDevice builtin
-#SSLCryptoDevice ubsec
-
-##
-## SSL Virtual Host Context
-##
-
-<VirtualHost _default_:443>
-
-# General setup for the virtual host, inherited from global configuration
-#DocumentRoot "/var/www/html"
-#ServerName www.example.com:443
-
-# Use separate log files for the SSL virtual host; note that LogLevel
-# is not inherited from httpd.conf.
-ErrorLog logs/ssl_error_log
-TransferLog logs/ssl_access_log
-LogLevel warn
-
-#   SSL Engine Switch:
-#   Enable/Disable SSL for this virtual host.
-SSLEngine on
-
-#   SSL Protocol support:
-# List the enable protocol levels with which clients will be able to
-# connect.  Disable SSLv2 access by default:
-SSLProtocol all -SSLv2
-
-#   SSL Cipher Suite:
-# List the ciphers that the client is permitted to negotiate.
-# See the mod_ssl documentation for a complete list.
-SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
-
-#   Server Certificate:
-# Point SSLCertificateFile at a PEM encoded certificate.  If
-# the certificate is encrypted, then you will be prompted for a
-# pass phrase.  Note that a kill -HUP will prompt again.  A new
-# certificate can be generated using the genkey(1) command.
-SSLCertificateFile /etc/pki/tls/certs/localhost.crt
-
-#   Server Private Key:
-#   If the key is not combined with the certificate, use this
-#   directive to point at the key file.  Keep in mind that if
-#   you've both a RSA and a DSA private key you can configure
-#   both in parallel (to also allow the use of DSA ciphers, etc.)
-SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
-
-#   Server Certificate Chain:
-#   Point SSLCertificateChainFile at a file containing the
-#   concatenation of PEM encoded CA certificates which form the
-#   certificate chain for the server certificate. Alternatively
-#   the referenced file can be the same as SSLCertificateFile
-#   when the CA certificates are directly appended to the server
-#   certificate for convinience.
-#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
-
-#   Certificate Authority (CA):
-#   Set the CA certificate verification path where to find CA
-#   certificates for client authentication or alternatively one
-#   huge file containing all of them (file must be PEM encoded)
-#SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
-
-#   Client Authentication (Type):
-#   Client certificate verification type and depth.  Types are
-#   none, optional, require and optional_no_ca.  Depth is a
-#   number which specifies how deeply to verify the certificate
-#   issuer chain before deciding the certificate is not valid.
-#SSLVerifyClient require
-#SSLVerifyDepth  10
-
-#   Access Control:
-#   With SSLRequire you can do per-directory access control based
-#   on arbitrary complex boolean expressions containing server
-#   variable checks and other lookup directives.  The syntax is a
-#   mixture between C and Perl.  See the mod_ssl documentation
-#   for more details.
-#<Location />
-#SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
-#            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
-#            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
-#            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
-#            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
-#           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
-#</Location>
-
-#   SSL Engine Options:
-#   Set various options for the SSL engine.
-#   o FakeBasicAuth:
-#     Translate the client X.509 into a Basic Authorisation.  This means that
-#     the standard Auth/DBMAuth methods can be used for access control.  The
-#     user name is the `one line' version of the client's X.509 certificate.
-#     Note that no password is obtained from the user. Every entry in the user
-#     file needs this password: `xxj31ZMTZzkVA'.
-#   o ExportCertData:
-#     This exports two additional environment variables: SSL_CLIENT_CERT and
-#     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
-#     server (always existing) and the client (only existing when client
-#     authentication is used). This can be used to import the certificates
-#     into CGI scripts.
-#   o StdEnvVars:
-#     This exports the standard SSL/TLS related `SSL_*' environment variables.
-#     Per default this exportation is switched off for performance reasons,
-#     because the extraction step is an expensive operation and is usually
-#     useless for serving static content. So one usually enables the
-#     exportation for CGI and SSI requests only.
-#   o StrictRequire:
-#     This denies access when "SSLRequireSSL" or "SSLRequire" applied even
-#     under a "Satisfy any" situation, i.e. when it applies access is denied
-#     and no other module can change it.
-#   o OptRenegotiate:
-#     This enables optimized SSL connection renegotiation handling when SSL
-#     directives are used in per-directory context. 
-#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
-<Files ~ "\.(cgi|shtml|phtml|php3?)$">
-    SSLOptions +StdEnvVars
-</Files>
-<Directory "/var/www/cgi-bin">
-    SSLOptions +StdEnvVars
-</Directory>
-
-#   SSL Protocol Adjustments:
-#   The safe and default but still SSL/TLS standard compliant shutdown
-#   approach is that mod_ssl sends the close notify alert but doesn't wait for
-#   the close notify alert from client. When you need a different shutdown
-#   approach you can use one of the following variables:
-#   o ssl-unclean-shutdown:
-#     This forces an unclean shutdown when the connection is closed, i.e. no
-#     SSL close notify alert is send or allowed to received.  This violates
-#     the SSL/TLS standard but is needed for some brain-dead browsers. Use
-#     this when you receive I/O errors because of the standard approach where
-#     mod_ssl sends the close notify alert.
-#   o ssl-accurate-shutdown:
-#     This forces an accurate shutdown when the connection is closed, i.e. a
-#     SSL close notify alert is send and mod_ssl waits for the close notify
-#     alert of the client. This is 100% SSL/TLS standard compliant, but in
-#     practice often causes hanging connections with brain-dead browsers. Use
-#     this only for browsers where you know that their SSL implementation
-#     works correctly. 
-#   Notice: Most problems of broken clients are also related to the HTTP
-#   keep-alive facility, so you usually additionally want to disable
-#   keep-alive for those clients, too. Use variable "nokeepalive" for this.
-#   Similarly, one has to force some clients to use HTTP/1.0 to workaround
-#   their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
-#   "force-response-1.0" for this.
-SetEnvIf User-Agent ".*MSIE.*" \
-         nokeepalive ssl-unclean-shutdown \
-         downgrade-1.0 force-response-1.0
-
-#   Per-Server Logging:
-#   The home of a custom SSL log file. Use this when you want a
-#   compact non-error SSL logfile on a virtual host basis.
-CustomLog logs/ssl_request_log \
-          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
-
-</VirtualHost>                                  
-
diff --git a/horizon/conf/wsgi.py b/horizon/conf/wsgi.py
deleted file mode 100644
index 7c0ae99..0000000
--- a/horizon/conf/wsgi.py
+++ /dev/null
@@ -1,33 +0,0 @@
-
-import os
-import sys
-
-sys.stdout = sys.stderr
-
-{%- set app = salt['pillar.get']('horizon:server:app:'+app_name) %}
-
-import site
-
-from os.path import join
-
-#site.addsitedir('/srv/horizon/lib/python2.7/site-packages')
-
-path = '/srv/horizon'
-
-sys.path.append(join(path, 'lib', 'python2.7', 'site-packages'))
-sys.path.append(join(path, 'sites', '{{ app_name }}', 'lib'))
-
-{%- if app.plugin is defined %}
-{%- for plugin_name, plugin in app.plugin.iteritems() %}
-sys.path.append('/srv/horizon/sites/{{ app_name }}/plugins/{{ plugin_name }}')
-{%- endfor %}
-{%- endif %}
-
-import os
-#os.environ['PYTHON_EGG_CACHE'] = '/www/lostquery.com/mod_wsgi/egg-cache'
-
-os.environ['DJANGO_SETTINGS_MODULE'] = 'openstack_dashboard.settings'
-
-import django.core.handlers.wsgi
-
-application = django.core.handlers.wsgi.WSGIHandler()
diff --git a/horizon/conf/httpd.conf.RedHat b/horizon/files/httpd.conf
similarity index 100%
rename from horizon/conf/httpd.conf.RedHat
rename to horizon/files/httpd.conf
diff --git a/horizon/conf/openstack-dashboard.conf.Debian b/horizon/files/openstack-dashboard.conf.Debian
similarity index 100%
rename from horizon/conf/openstack-dashboard.conf.Debian
rename to horizon/files/openstack-dashboard.conf.Debian
diff --git a/horizon/conf/openstack-dashboard.conf.RedHat b/horizon/files/openstack-dashboard.conf.RedHat
similarity index 100%
rename from horizon/conf/openstack-dashboard.conf.RedHat
rename to horizon/files/openstack-dashboard.conf.RedHat
diff --git a/horizon/conf/ports.conf b/horizon/files/ports.conf
similarity index 100%
rename from horizon/conf/ports.conf
rename to horizon/files/ports.conf
diff --git a/horizon/map.jinja b/horizon/map.jinja
index 9ea2fdf..be1311c 100644
--- a/horizon/map.jinja
+++ b/horizon/map.jinja
@@ -8,7 +8,7 @@
         'certs_dir': '/etc/ssl/certs',
         'private_dir': '/etc/ssl/private',
         'port_config_file': '/etc/apache2/ports.conf',
-        'port_config_template': 'salt://horizon/conf/ports.conf',
+        'port_config_template': 'salt://horizon/files/ports.conf',
         'cache': {'host': '127.0.0.1', 'port': 11211}
     },
     'RedHat': {
@@ -20,7 +20,7 @@
         'certs_dir': '/etc/pki/tls/certs',
         'private_dir': '/etc/pki/tls/private',
         'port_config_file': '/etc/httpd/conf/httpd.conf',
-        'port_config_template': 'salt://horizon/conf/httpd.conf.RedHat',
+        'port_config_template': 'salt://horizon/files/httpd.conf',
         'cache': {'host': '127.0.0.1', 'port': 11211}
     },
 }, merge=salt['pillar.get']('horizon:server')) %}
diff --git a/horizon/server/plugin.sls b/horizon/server/plugin.sls
index b653936..6d499a8 100644
--- a/horizon/server/plugin.sls
+++ b/horizon/server/plugin.sls
@@ -1,7 +1,7 @@
 {%- from "horizon/map.jinja" import server with context %}
 {%- if server.enabled %}
 
-{%- if grains.os == "ubuntu" %}
+{%- if grains.os == "Ubuntu" %}
 
 horizon_ubuntu_theme_absent:
   pkg.purged:
diff --git a/horizon/server/service.sls b/horizon/server/service.sls
index ee994a8..d42672b 100644
--- a/horizon/server/service.sls
+++ b/horizon/server/service.sls
@@ -32,7 +32,7 @@
 horizon_apache_config:
   file.managed:
   - name: {{ server.apache_config }}
-  - source: salt://horizon/conf/openstack-dashboard.conf.{{ grains.os_family }}
+  - source: salt://horizon/files/openstack-dashboard.conf.{{ grains.os_family }}
   - template: jinja
   - mode: 644
   - user: root
