diff --git a/.ghci b/.ghci
new file mode 100644
--- /dev/null
+++ b/.ghci
@@ -0,0 +1,1 @@
+:set -isrc -idist/build/autogen -optP-include -optPdist/build/autogen/cabal_macros.h
diff --git a/.gitignore b/.gitignore
new file mode 100644
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,13 @@
+dist
+docs
+wiki
+TAGS
+tags
+wip
+.DS_Store
+.*.swp
+.*.swo
+*.o
+*.hi
+*~
+*#
diff --git a/.travis.yml b/.travis.yml
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,1 +1,8 @@
 language: haskell
+notifications:
+  irc:
+    channels:
+      - "irc.freenode.org#haskell-lens"
+    skip_join: true
+    template:
+      - "\x0313kan-extensions\x03/\x0306%{branch}\x03 \x0314%{commit}\x03 %{build_url} %{message}"
diff --git a/.vim.custom b/.vim.custom
new file mode 100644
--- /dev/null
+++ b/.vim.custom
@@ -0,0 +1,31 @@
+" Add the following to your .vimrc to automatically load this on startup
+
+" if filereadable(".vim.custom")
+"     so .vim.custom
+" endif
+
+function StripTrailingWhitespace()
+  let myline=line(".")
+  let mycolumn = col(".")
+  silent %s/  *$//
+  call cursor(myline, mycolumn)
+endfunction
+
+" enable syntax highlighting
+syntax on
+
+" search for the tags file anywhere between here and /
+set tags=TAGS;/
+
+" highlight tabs and trailing spaces
+set listchars=tab:‗‗,trail:‗
+set list
+
+" f2 runs hasktags
+map <F2> :exec ":!hasktags -x -c --ignore src"<CR><CR>
+
+" strip trailing whitespace before saving
+" au BufWritePre *.hs,*.markdown silent! cal StripTrailingWhitespace()
+
+" rebuild hasktags after saving
+au BufWritePost *.hs silent! :exec ":!hasktags -x -c --ignore src"
diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.markdown
@@ -0,0 +1,10 @@
+3.1.1
+-----
+* Refactored build system
+* IRC build-bot notification
+* Removed upper bounds on dependencies on my other packages
+
+3.1
+---
+* Moved `Control.Monad.Free.Church` over to the `free` package instead and removed it from `kan-extensions`
+
diff --git a/README.markdown b/README.markdown
new file mode 100644
--- /dev/null
+++ b/README.markdown
@@ -0,0 +1,15 @@
+kan-extensions
+==============
+
+[![Build Status](https://secure.travis-ci.org/ekmett/kan-extensions.png?branch=master)](http://travis-ci.org/ekmett/kan-extensions)
+
+This package provides tools for working with left and right Kan extensions in Haskell.
+
+Contact Information
+-------------------
+
+Contributions and bug reports are welcome!
+
+Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.
+
+-Edward Kmett
diff --git a/kan-extensions.cabal b/kan-extensions.cabal
--- a/kan-extensions.cabal
+++ b/kan-extensions.cabal
@@ -1,6 +1,6 @@
 name:          kan-extensions
 category:      Data Structures, Monads, Comonads, Functors
-version:       3.1.0.2
+version:       3.1.1
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -14,7 +14,13 @@
 description:   Kan extensions, the Yoneda lemma, and (co)density (co)monads
 build-type:    Simple
 
-extra-source-files: .travis.yml
+extra-source-files: 
+  .travis.yml
+  .gitignore
+  .ghci
+  .vim.custom
+  CHANGELOG.markdown
+  README.markdown
 
 source-repository head
   type: git
@@ -34,21 +40,21 @@
     TypeFamilies
 
   build-depends:
-    adjunctions            >= 3.0.0.1 && < 3.1,
+    adjunctions            >= 3.0.0.1,
     array                  >= 0.3.0.2 && < 0.5,
     base                   == 4.*,
-    comonad                == 3.0.*,
-    comonad-transformers   == 3.0.*,
-    comonads-fd            == 3.0.*,
+    comonad                >= 3,
+    comonad-transformers   >= 3,
+    comonads-fd            >= 3,
     containers             >= 0.4     && < 0.6,
-    contravariant          >= 0.2.0.1 && < 0.3,
-    distributive           >= 0.2.2   && < 0.4,
-    free                   >= 3.0     && < 3.4,
-    keys                   == 3.0.*,
+    contravariant          >= 0.2.0.1,
+    distributive           >= 0.2.2,
+    free                   >= 3,
+    keys                   >= 3,
     mtl                    >= 2.0.1   && < 2.2,
-    representable-functors >= 3.0.0.1 && < 3.1,
-    semigroupoids          == 3.0.*,
-    speculation            >= 1.4.1   && < 1.5,
+    representable-functors >= 3.0.0.1,
+    semigroupoids          >= 3,
+    speculation            >= 1.4.1,
     transformers           >= 0.2     && < 0.4
 
   exposed-modules:
