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:
+      - "\x0313representable-tries\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,5 @@
+3.0.2
+-----
+* Removed intra-package dependencies
+* Added `README.markdown`
+* Added IRC build-bot notification
diff --git a/README.markdown b/README.markdown
new file mode 100644
--- /dev/null
+++ b/README.markdown
@@ -0,0 +1,20 @@
+representable-tries
+===================
+
+[![Build Status](https://secure.travis-ci.org/ekmett/representable-functors.png?branch=master)](http://travis-ci.org/ekmett/representable-functors)
+
+This package provides a simple function memoization scheme based on the notion of representable functors.
+
+In category theory a representable functor (more pedantically a corepresentable functor) is one such that `f a` is isomorphic to `x -> a`. We choose the name `Representable` here because we are talking about haskell `Functor` instances, and they are all covariant, so this is the more natural notion of representability for Haskell.
+
+Given the existence of representable functors, we can choose a `Traversable` representable functor that has our data type as a representation, and use it to memoize functions by building
+a data structure that has one place to hold each answer for each possible argument.
+
+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/representable-tries.cabal b/representable-tries.cabal
--- a/representable-tries.cabal
+++ b/representable-tries.cabal
@@ -1,6 +1,6 @@
 name:          representable-tries
 category:      Data Structures, Functors, Monads, Comonads
-version:       3.0.1.1
+version:       3.0.2
 license:       BSD3
 cabal-version: >= 1.6
 license-file:  LICENSE
@@ -13,7 +13,13 @@
 synopsis:      Tries from representations of polynomial functors
 description:   Tries from representations of polynomial functors
 build-type:    Simple
-extra-source-files: .travis.yml
+extra-source-files:
+  .ghci
+  .gitignore
+  .travis.yml
+  .vim.custom
+  README.markdown
+  CHANGELOG.markdown
 
 source-repository head
   type: git
@@ -36,19 +42,19 @@
     UndecidableInstances
 
   build-depends:
-    adjunctions            >= 3.0.0.1 && < 3.1,
+    adjunctions            >= 3,
     base                   >= 4       && < 5,
-    bifunctors             == 3.0.*,
-    comonad                == 3.0.*,
-    comonad-transformers   == 3.0.*,
+    bifunctors             >= 3,
+    comonad                >= 3,
+    comonad-transformers   >= 3,
     containers             >= 0.3     && < 0.6,
-    distributive           >= 0.2.2   && < 0.4,
-    keys                   >= 3.0.0.1 && < 3.1,
+    distributive           >= 0.2.2,
+    keys                   >= 3.0.0.1,
     mtl                    >= 2.0.1   && < 2.2,
     transformers           >= 0.2     && < 0.4,
-    representable-functors >= 3.0.0.1 && < 3.1,
-    semigroups             >= 0.8.3.1 && < 0.9,
-    semigroupoids          == 3.0.*
+    representable-functors >= 3.0.0.1,
+    semigroups             >= 0.8.3.1,
+    semigroupoids          >= 3
 
   exposed-modules:
     Control.Monad.Reader.Trie
