diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,9 @@
+## Usage
+
+`xmonad` with a custom configuration, in a project to be recompiled with stack or cabal.
+
+### Requirements
+Requires libxft-dev, amixer for volume, gnome-terminal, and setxkbmap to switch keyboard layouts.
+
+### Sugestions
+Use dmenu, libx11-dev, libxinerama, yeganesh, and libxext as well. 
diff --git a/src/XMonad/Config/Vanessa.hs b/src/XMonad/Config/Vanessa.hs
--- a/src/XMonad/Config/Vanessa.hs
+++ b/src/XMonad/Config/Vanessa.hs
@@ -53,7 +53,7 @@
                                                                    , ppVisible = (xmobarColor "yellow" "black")
                                                                    }
  
--- | Doesn't work but I'm trying so hey. 
+-- | Doesn't work on spotify
 myManageHook :: Query (Endo WindowSet)
 myManageHook = composeAll [ className =? "Gimp"                                --> doFloat
                           , resource =? "spotify"                              --> doF (shift "5")
@@ -61,6 +61,8 @@
                           , resource =? "crx_bikioccmkafdpakkkcpdbppfkghcmihk" --> doF (shift "7")
                           , resource =? "crx_bgkodfmeijboinjdegggmkbkjfiagaan" --> doF (shift "7")
                           , className =? "libreoffice-writer" --> doFloat
+                          , className =? "keepassx" --> doFloat
+                          , className =? "xviewer" --> doFloat
                           ]
 
 -- | Custom keymaps to adjust volume, brightness, and 
@@ -79,6 +81,7 @@
              , ((modm, xK_Right), brighten 100)
              --program shortcuts
              , ((modm, xK_q), spawn "spotify") 
+             , ((modm .|. controlMask, xK_Return), spawn "gnome-terminal") 
              , ((modm .|. shiftMask, xK_n), spawn "google-chrome --profile-directory=Default --app-id=bikioccmkafdpakkkcpdbppfkghcmihk") --open signal
              --launch bar
              , ((modm, xK_p), spawn "$(yeganesh -x)")
@@ -90,6 +93,11 @@
              , ((modm, xK_F1), setLang def)
              , ((modm, xK_F2), setLang tibetan)
              , ((modm, xK_F3), setLang accented)
+             , ((modm, xK_F4), setLang français)
+             , ((modm, xK_F5), setLang deutsch)
+             , ((modm, xK_F6), setLang anglisc)
+             , ((modm, xK_F7), setLang dansk)
+             , ((modm, xK_F9), setLang dzongkha)
              , ((shiftMask, xK_F11), spawn "cargo install --git https://github.com/jwilm/alacritty.git --force")
              ]
              --alt + h and alt+l should go over by one?
diff --git a/src/XMonad/Util/Keyboard.hs b/src/XMonad/Util/Keyboard.hs
--- a/src/XMonad/Util/Keyboard.hs
+++ b/src/XMonad/Util/Keyboard.hs
@@ -6,6 +6,11 @@
                             , setLang
                             , tibetan
                             , accented
+                            , français
+                            , deutsch
+                            , dansk
+                            , anglisc
+                            , dzongkha
                             ) where
 
 import XMonad
@@ -19,7 +24,12 @@
     show (Simple "us") = "US"
     show (Simple "layout") = "US"
     show (Regional "cn" "tib") = xmobarColor "yellow" "black" "Tibetan"
+    show (Simple "bt") = xmobarColor "yellow" "black" "Dzongkha"
     show (Regional "us" "altgr-intl") = "US Extended"
+    show (Simple "fr") = "Fr"
+    show (Simple "is") = "Ænglisc"
+    show (Simple "de") = "De"
+    show (Simple "dk") = "Dk"
 
 -- | Set default keyboard layout to vanilla "us"
 instance Default KbLayout where
@@ -43,6 +53,26 @@
 -- | keyboard layout for typing Tibetan text
 tibetan :: KbLayout
 tibetan  = (Regional "cn" "tib")
+
+-- | AZERTY French keyboard
+français :: KbLayout
+français = Simple "fr"
+
+-- | QWERTZ German keyboard
+deutsch :: KbLayout
+deutsch = Simple "de"
+
+-- | Danish keyboard
+dansk :: KbLayout
+dansk = Simple "dk"
+
+-- | Icelandic keyboard; also good for typesetting Old English. 
+anglisc :: KbLayout
+anglisc = Simple "is"
+
+-- | Dzongkha keyboard
+dzongkha :: KbLayout
+dzongkha = Simple "bt"
 
 -- | Alr-gr keyboard providing common accents on a US keyboard
 accented :: KbLayout
diff --git a/stack-8.yaml b/stack-8.yaml
new file mode 100644
--- /dev/null
+++ b/stack-8.yaml
@@ -0,0 +1,76 @@
+# This file was automatically generated by 'stack init'
+#
+# Some commonly used options have been documented as comments in this file.
+# For advanced use and comprehensive documentation of the format, please see:
+# http://docs.haskellstack.org/en/stable/yaml_configuration/
+
+# A warning or info to be displayed to the user on config load.
+user-message: ! 'Warning (added by new or init): Specified resolver could not satisfy
+  all dependencies. Some external packages have been added as dependencies.
+
+  You can suppress this message by removing it from stack.yaml
+
+'
+
+# Resolver to choose a 'specific' stackage snapshot or a compiler version.
+# A snapshot resolver dictates the compiler version and the set of packages
+# to be used for project dependencies. For example:
+#
+# resolver: lts-3.5
+# resolver: nightly-2015-09-21
+# resolver: ghc-7.10.2
+# resolver: ghcjs-0.1.0_ghc-7.10.2
+# resolver:
+#  name: custom-snapshot
+#  location: "./custom-snapshot.yaml"
+resolver: lts-8.2
+
+# User packages to be built.
+# Various formats can be used as shown in the example below.
+#
+# packages:
+# - some-directory
+# - https://example.com/foo/bar/baz-0.0.2.tar.gz
+# - location:
+#    git: https://github.com/commercialhaskell/stack.git
+#    commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
+# - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a
+#   extra-dep: true
+#  subdirs:
+#  - auto-update
+#  - wai
+#
+# A package marked 'extra-dep: true' will only be built if demanded by a
+# non-dependency (i.e. a user package), and its test suites and benchmarks
+# will not be run. This is useful for tweaking upstream packages.
+packages:
+- '.'
+# Dependency packages to be pulled from upstream that are not in the resolver
+# (e.g., acme-missiles-0.3)
+extra-deps:
+- X11-xft-0.3.1
+- xmonad-contrib-0.13
+
+# Override default flag values for local packages and extra-deps
+flags: {}
+
+# Extra package databases containing global packages
+extra-package-dbs: []
+
+# Control whether we use the GHC we find on the path
+# system-ghc: true
+#
+# Require a specific version of stack, using version ranges
+# require-stack-version: -any # Default
+# require-stack-version: ">=1.4"
+#
+# Override the architecture used by stack, especially useful on Windows
+# arch: i386
+# arch: x86_64
+#
+# Extra directories used by stack for building
+# extra-include-dirs: [/path/to/dir]
+# extra-lib-dirs: [/path/to/dir]
+#
+# Allow a newer minor version of GHC than the snapshot specifies
+# compiler-check: newer-minor
diff --git a/stack-nightly.yaml b/stack-nightly.yaml
new file mode 100644
--- /dev/null
+++ b/stack-nightly.yaml
@@ -0,0 +1,66 @@
+# This file was automatically generated by 'stack init'
+#
+# Some commonly used options have been documented as comments in this file.
+# For advanced use and comprehensive documentation of the format, please see:
+# http://docs.haskellstack.org/en/stable/yaml_configuration/
+
+# Resolver to choose a 'specific' stackage snapshot or a compiler version.
+# A snapshot resolver dictates the compiler version and the set of packages
+# to be used for project dependencies. For example:
+#
+# resolver: lts-3.5
+# resolver: nightly-2015-09-21
+# resolver: ghc-7.10.2
+# resolver: ghcjs-0.1.0_ghc-7.10.2
+# resolver:
+#  name: custom-snapshot
+#  location: "./custom-snapshot.yaml"
+resolver: nightly-2017-02-26
+
+# User packages to be built.
+# Various formats can be used as shown in the example below.
+#
+# packages:
+# - some-directory
+# - https://example.com/foo/bar/baz-0.0.2.tar.gz
+# - location:
+#    git: https://github.com/commercialhaskell/stack.git
+#    commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
+# - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a
+#   extra-dep: true
+#  subdirs:
+#  - auto-update
+#  - wai
+#
+# A package marked 'extra-dep: true' will only be built if demanded by a
+# non-dependency (i.e. a user package), and its test suites and benchmarks
+# will not be run. This is useful for tweaking upstream packages.
+packages:
+- '.'
+# Dependency packages to be pulled from upstream that are not in the resolver
+# (e.g., acme-missiles-0.3)
+extra-deps: []
+
+# Override default flag values for local packages and extra-deps
+flags: {}
+
+# Extra package databases containing global packages
+extra-package-dbs: []
+
+# Control whether we use the GHC we find on the path
+# system-ghc: true
+#
+# Require a specific version of stack, using version ranges
+# require-stack-version: -any # Default
+# require-stack-version: ">=1.4"
+#
+# Override the architecture used by stack, especially useful on Windows
+# arch: i386
+# arch: x86_64
+#
+# Extra directories used by stack for building
+# extra-include-dirs: [/path/to/dir]
+# extra-lib-dirs: [/path/to/dir]
+#
+# Allow a newer minor version of GHC than the snapshot specifies
+# compiler-check: newer-minor
diff --git a/stack.yaml b/stack.yaml
new file mode 100644
--- /dev/null
+++ b/stack.yaml
@@ -0,0 +1,66 @@
+# This file was automatically generated by 'stack init'
+#
+# Some commonly used options have been documented as comments in this file.
+# For advanced use and comprehensive documentation of the format, please see:
+# http://docs.haskellstack.org/en/stable/yaml_configuration/
+
+# Resolver to choose a 'specific' stackage snapshot or a compiler version.
+# A snapshot resolver dictates the compiler version and the set of packages
+# to be used for project dependencies. For example:
+#
+# resolver: lts-3.5
+# resolver: nightly-2015-09-21
+# resolver: ghc-7.10.2
+# resolver: ghcjs-0.1.0_ghc-7.10.2
+# resolver:
+#  name: custom-snapshot
+#  location: "./custom-snapshot.yaml"
+resolver: nightly-2017-02-26
+
+# User packages to be built.
+# Various formats can be used as shown in the example below.
+#
+# packages:
+# - some-directory
+# - https://example.com/foo/bar/baz-0.0.2.tar.gz
+# - location:
+#    git: https://github.com/commercialhaskell/stack.git
+#    commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a
+# - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a
+#   extra-dep: true
+#  subdirs:
+#  - auto-update
+#  - wai
+#
+# A package marked 'extra-dep: true' will only be built if demanded by a
+# non-dependency (i.e. a user package), and its test suites and benchmarks
+# will not be run. This is useful for tweaking upstream packages.
+packages:
+- '.'
+# Dependency packages to be pulled from upstream that are not in the resolver
+# (e.g., acme-missiles-0.3)
+extra-deps: []
+
+# Override default flag values for local packages and extra-deps
+flags: {}
+
+# Extra package databases containing global packages
+extra-package-dbs: []
+
+# Control whether we use the GHC we find on the path
+# system-ghc: true
+#
+# Require a specific version of stack, using version ranges
+# require-stack-version: -any # Default
+# require-stack-version: ">=1.4"
+#
+# Override the architecture used by stack, especially useful on Windows
+# arch: i386
+# arch: x86_64
+#
+# Extra directories used by stack for building
+# extra-include-dirs: [/path/to/dir]
+# extra-lib-dirs: [/path/to/dir]
+#
+# Allow a newer minor version of GHC than the snapshot specifies
+# compiler-check: newer-minor
diff --git a/xmonad-vanessa.cabal b/xmonad-vanessa.cabal
--- a/xmonad-vanessa.cabal
+++ b/xmonad-vanessa.cabal
@@ -1,5 +1,5 @@
 name: xmonad-vanessa
-version: 0.1.0.6
+version: 0.1.1.0
 cabal-version: >=1.10
 build-type: Simple
 license: BSD3
@@ -12,6 +12,11 @@
     Please see README.md
 category: Web
 author: Vanessa McHale
+extra-source-files:
+    README.md
+    stack.yaml
+    stack-nightly.yaml
+    stack-8.yaml
 
 source-repository head
     type: git
@@ -39,7 +44,7 @@
     main-is: Main.hs
     build-depends:
         base >=4.9.1.0 && <4.10,
-        xmonad-vanessa >=0.1.0.6 && <0.2
+        xmonad-vanessa >=0.1.1.0 && <0.2
     default-language: Haskell2010
     hs-source-dirs: app
     ghc-options: -threaded -rtsopts -with-rtsopts=-N -O3 -fllvm -optlo-O3
@@ -48,7 +53,7 @@
     main-is: ParseKBLayout.hs
     build-depends:
         base >=4.9.1.0 && <4.10,
-        xmonad-vanessa >=0.1.0.6 && <0.2
+        xmonad-vanessa >=0.1.1.0 && <0.2
     default-language: Haskell2010
     hs-source-dirs: app
     ghc-options: -threaded -rtsopts -with-rtsopts=-N -fllvm -O3 -optlo-O3
@@ -58,8 +63,8 @@
     main-is: Spec.hs
     build-depends:
         base >=4.9.1.0 && <4.10,
-        xmonad-vanessa >=0.1.0.6 && <0.2,
-        hspec >=2.4.1 && <2.5,
+        xmonad-vanessa >=0.1.1.0 && <0.2,
+        hspec >=2.4.2 && <2.5,
         xmonad ==0.13.*
     hs-source-dirs: test
     ghc-options: -threaded -rtsopts -with-rtsopts=-N
