diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -16,8 +16,30 @@
 
 ## Installation
 
+### Linux users
+
+From hackage:
+
 ```bash
-$ stack install calculator
+stack install gtk2hs-buildtools
+PATH="$HOME/.local/bin:$PATH" stack install calculator
+```
+
+From the repo:
+
+```bash
+stack install gtk2hs-buildtools # From a directory with no stack.yaml
+cd /path/to/calculator/repo
+PATH="$HOME/.local/bin:$PATH" stack install
+```
+
+### Windows users
+
+This should work, assuming the PATH variable is set correctly:
+
+```cmd
+cmd> stack install gtk2hs-buildtools
+cmd> stack install calculator
 ```
 
 ## Implementation
diff --git a/calculator.cabal b/calculator.cabal
--- a/calculator.cabal
+++ b/calculator.cabal
@@ -1,12 +1,10 @@
 name:                calculator
-version:             0.4.0.2
+version:             0.4.1.0
 synopsis:            A calculator repl, with variables, functions & Mathematica like dynamic plots.
 description:         A calculator repl that processes mathematical expressions.
                      Does basic arithmetic, and provides pre-defined basic mathematical functions.
                      .
-                     Provides binding functionality for variables and functions.
-                     .
-                     Optionally provides plotting support (configure using cabal).
+                     Provides binding functionality for variables and functions, and plotting support for functions with arbitrary number of arguments.
 homepage:            https://github.com/sumitsahrawat/calculator
 license:             GPL-2
 license-file:        LICENSE
@@ -15,7 +13,7 @@
 -- copyright:           
 category:            Math
 build-type:          Simple
-extra-source-files:  README.md
+extra-source-files:  README.md, stack.yaml
 cabal-version:       >=1.10
 
 executable calculator
@@ -46,7 +44,7 @@
                      , plot-gtk-ui
                      , gtk
                      , transformers
-                     , hmatrix >=0.10 && <0.17
+                     , hmatrix
   hs-source-dirs:      src/
   ghc-options:         -Wall
   default-language:    Haskell2010
diff --git a/stack.yaml b/stack.yaml
new file mode 100644
--- /dev/null
+++ b/stack.yaml
@@ -0,0 +1,42 @@
+# For more information, see: https://github.com/commercialhaskell/stack/blob/master/doc/yaml_configuration.md
+
+# Specifies the GHC version and set of packages available (e.g., lts-3.5, nightly-2015-09-21, ghc-7.10.2)
+resolver: ghc-7.10.1
+
+# Local packages, usually specified by relative directory name
+packages:
+- '.'
+
+# Packages to be pulled from upstream that are not in the resolver (e.g., acme-missiles-0.3)
+extra-deps:
+- QuickCheck-2.8.1
+- cairo-0.13.1.0
+- colour-2.3.3
+- fixed-vector-0.8.1.0
+- gio-0.13.1.0
+- glib-0.13.2.1
+- gtk-0.13.9
+- hmatrix-0.16.1.5
+- pango-0.13.1.0
+- plot-0.2.3.4
+- plot-gtk-ui-0.3.0.0
+- storable-complex-0.2.2
+- tf-random-0.5
+
+# Override default flag values for local packages and extra-deps
+flags: {}
+
+# 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: >= 0.1.4.0
+
+# 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]
