diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,1 +1,20 @@
-MIT
+Copyright (c) 2015 Hoppinger BV, http://lambdacms.org
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/LambdaCms/Media/Foundation.hs b/LambdaCms/Media/Foundation.hs
--- a/LambdaCms/Media/Foundation.hs
+++ b/LambdaCms/Media/Foundation.hs
@@ -53,7 +53,7 @@
     renderMediaMessage _ _ = defaultMessage
 
 defaultMediaAdminMenu :: LambdaCmsMedia master => (Route MediaAdmin -> Route master) -> [AdminMenuItem master]
-defaultMediaAdminMenu tp = [ MenuItem (SomeMessage Msg.MenuMedia) (tp MediaAdminIndexR) "picture" ]
+defaultMediaAdminMenu tp = [ MenuItem (SomeMessage Msg.MenuMedia) (tp MediaAdminR) "picture" ]
 
 attachedMaybeMedia :: LambdaCmsMedia master
                        => model
diff --git a/LambdaCms/Media/Handler/Media.hs b/LambdaCms/Media/Handler/Media.hs
--- a/LambdaCms/Media/Handler/Media.hs
+++ b/LambdaCms/Media/Handler/Media.hs
@@ -5,7 +5,7 @@
 {-# LANGUAGE TemplateHaskell     #-}
 
 module LambdaCms.Media.Handler.Media
-    ( getMediaAdminIndexR
+    ( getMediaAdminR
     , getMediaAdminNewR
     , postMediaAdminNewR
     , getMediaAdminEditR
@@ -25,7 +25,7 @@
 import           System.FilePath
 import           Text.Lucius             (luciusFile)
 
-getMediaAdminIndexR    :: MediaHandler Html
+getMediaAdminR         :: MediaHandler Html
 getMediaAdminNewR      :: MediaHandler Html
 postMediaAdminNewR     :: MediaHandler Html
 getMediaAdminEditR     :: MediaId -> MediaHandler Html
@@ -33,7 +33,7 @@
 deleteMediaAdminEditR  :: MediaId -> MediaHandler Html
 patchMediaAdminRenameR :: MediaId -> MediaHandler Html
 
-getMediaAdminIndexR = lift $ do
+getMediaAdminR = lift $ do
     can <- getCan
     y <- getYesod
     let sr = unpack $ staticRoot y
@@ -57,7 +57,7 @@
             (location, ctype) <- upload file (unpack name)
             _ <- lift . runDB . insert $ Media location ctype label description ct
             lift . setMessageI $ Msg.SaveSuccess label
-            redirect MediaAdminIndexR
+            redirect MediaAdminR
         _ -> lift $ do
             can <- getCan
             adminLayout $ do
@@ -98,7 +98,7 @@
     case isDeleted of
         True -> do
             lift . setMessageI $ Msg.DeleteSuccess (mediaLabel file)
-            redirect MediaAdminIndexR
+            redirect MediaAdminR
         False -> do
             lift . setMessageI $ Msg.DeleteFail (mediaLabel file)
             redirect $ MediaAdminEditR fileId
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,3 +1,89 @@
-# LambdaCms Media Extension
+lambdacms-media
+===============
 
-LambdaCms Media is an extension for LambdaCms which allows admins to manage media files.
+This is an extension for [LambdaCms](http://lambdacms.org) which allows admins to manage media files.
+
+**NOTE:** At this point the functionality provided by this extension is very basic. Pull request adding features are most welcome.
+
+
+# Installing
+
+LambdaCms extensions come as plain Haskell packages and need to be added to the
+project's `.cabal` file like any other package dependency.
+
+The following guide expects a newly initialized LambdaCms base application.
+When you have an existing base app this guide show still be easy to follow.
+
+In the `library` section of your base application's `.cabal` file append the following
+line to `build-depends`:
+
+```
+                , lambdacms-media
+```
+
+The media extension's admin section needs to be mounted in the base app's
+router, therefor add the following line to your `config/routes` file:
+
+```
+/admin/media  MediaAdminSubR       MediaAdmin   getLambdaCmsMedia
+```
+
+To `Application.hs` add `import LambdaCms.Media` and the following line:
+
+```haskell
+[...]
+    let getLambdaCms = CoreAdmin
+        getLambdaCmsMedia = MediaAdmin  -- add this line
+        mkFoundation appConnPool = App {..}
+[...]
+```
+
+The procede by including the `migrateLambdaCmsMedia` function to `Application.hs`
+as shown in this snippet:
+
+```haskell
+[...]
+    runLoggingT
+        (runSqlPool (mapM_ runMigration [migrateAll, migrateLambdaCmsCore, migrateLambdaCmsMedia]) pool)
+        (messageLoggerSource theFoundation appLogger)
+[...]
+```
+
+
+To `Foundation.hs` also add `import LambdaCms.Media` and the following two lines:
+
+```haskell
+[...]
+    , getLambdaCms   :: CoreAdmin
+    , getLambdaCmsMedia :: MediaAdmin  -- add this line
+    }
+[...]
+    adminMenu = (defaultCoreAdminMenu CoreAdminR)
+                ++ (defaultMediaAdminMenu MediaAdminR)  -- add this line
+    renderLanguages _ = ["en", "nl"]
+[...]
+```
+
+The last line hooks the media admin section into the admin menu.
+
+Finally the following instance needs to be defined in `Foundation.hs`:
+
+```haskell
+instance LambdaCmsMedia App where
+  mediaR       = MediaAdminSubR
+  staticDir y  = appStaticDir $ appSettings y
+  staticRoot _ = "/static"
+```
+
+
+That's it! You can now `cabal install` the new dependency and run
+`yesod devel` to test drive the freshly installed extension.
+
+
+
+# License
+
+All code in this repository is released under the MIT license, as specified
+in the [LICENSE file](https://github.com/lambdacms/lambdacms-core/blob/master/LICENSE).
+
+
diff --git a/config/routes b/config/routes
--- a/config/routes
+++ b/config/routes
@@ -1,4 +1,4 @@
-/                 MediaAdminIndexR   GET
+/                 MediaAdminR        GET
 /new              MediaAdminNewR     GET POST
 /#MediaId/rename  MediaAdminRenameR  PATCH
 !/#MediaId        MediaAdminEditR    GET PATCH DELETE
diff --git a/lambdacms-media.cabal b/lambdacms-media.cabal
--- a/lambdacms-media.cabal
+++ b/lambdacms-media.cabal
@@ -1,13 +1,13 @@
 name:               lambdacms-media
-version:            0.0.2
+version:            0.2.0
 license:            MIT
 license-file:       LICENSE
 author:             Mats Rietdijk, Cies Breijs
 maintainer:         mats@AT-hoppinger.com
-copyright:          (c) 2014 Hoppinger
-bug-reports:        https://github.com/lambdacms/lambdacms-media
-homepage:           http://lambdacms.org/media
-synopsis:           Media CMS extension for Yesod apps
+copyright:          (c) 2014-2015 Hoppinger BV
+bug-reports:        https://github.com/lambdacms/lambdacms-media/issues
+homepage:           http://lambdacms.org
+synopsis:           LambdaCms "media" extension
 description:        LambdaCms is a Content Management System (CMS) in Haskell
                     using Yesod. This package contains the "media" extension.
 stability:          alpha
@@ -40,7 +40,7 @@
   build-depends:    base                    >= 4.3      && < 5
                   , yesod
                   , yesod-form
-                  , lambdacms-core          >= 0.0.7.3  && < 0.1
+                  , lambdacms-core          >= 0.0.7.3  && < 0.2
                   , persistent
                   , text
                   , time
diff --git a/templates/edit.hamlet b/templates/edit.hamlet
--- a/templates/edit.hamlet
+++ b/templates/edit.hamlet
@@ -1,6 +1,6 @@
 <div .row>
     <div .col-xs-12>
-        $maybe r <- can (mediaR MediaAdminIndexR) "GET"
+        $maybe r <- can (mediaR MediaAdminR) "GET"
             <a href=@{r}>
                 <span .glyphicon .glyphicon-arrow-left>
                 _{Msg.Back}
diff --git a/templates/new.hamlet b/templates/new.hamlet
--- a/templates/new.hamlet
+++ b/templates/new.hamlet
@@ -1,6 +1,6 @@
 <div .row>
     <div .col-xs-12>
-        $maybe r <- can (mediaR MediaAdminIndexR) "GET"
+        $maybe r <- can (mediaR MediaAdminR) "GET"
             <a href=@{r}>
                 <span .glyphicon .glyphicon-arrow-left>
                 _{Msg.Back}
