diff --git a/.gitignore b/.gitignore
new file mode 100644
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+dist
+res/
diff --git a/Changelog b/Changelog
new file mode 100644
--- /dev/null
+++ b/Changelog
@@ -0,0 +1,22 @@
+0.1.4 - 2012-04-05
+- Fix compilation with GHC >= 7.2.x
+- Add cabal copy and register hooks
+
+0.1.3 - 2011-06-25
+- Fix compilation with cabal 1.10.x
+
+0.1.2 - 2011-01-09
+- Add cabal dependency to cgen
+
+0.1.1 - 2011-01-09
+- Fix compilation on Windows
+
+0.1.0 - 2010-08-04
+- Rewrite the bindings using cgen
+
+0.0.2 - 2009-11-12
+- Correct git URL
+- Remove dependency to CEGUI
+
+0.0.1 - 2009-11-11
+- Initial release
diff --git a/README b/README
new file mode 100644
--- /dev/null
+++ b/README
@@ -0,0 +1,67 @@
+hogre
+
+For API documentation, see http://anttisalonen.github.com/hogre
+
+Introduction
+
+hogre is a Haskell FFI binding to a subset of OGRE (www.ogre3d.org).
+
+License
+
+hogre is licensed under MIT. OGRE is licensed under LGPL for versions before
+1.7.0 and under MIT for 1.7.0 and later. See the OGRE website for more 
+information.
+
+Installation
+
+1. Install OGRE C++ libraries on your system. Consult your OS on 
+how to do this. For Debian and Debian-like Linuxes, something like 
+"sudo aptitude install libogre-dev" should do.
+
+2. Install cgen, a program for generating C++ bindings for Haskell, which is
+needed by hogre. You can download the cgen source at github 
+(http://github.com/anttisalonen/cgen) or install it from Hackage using cabal.
+
+3. As hogre generates a C interface to OGRE and compiles it, you need a C++
+compiler - on Debian and Debian-like distributions, 
+"sudo aptitude install build-essential" should do.
+
+4. [Linux/Unix] cabal configure [--user] && cabal build && cabal install.
+pkg-config is used for determining the correct include and library paths.
+
+Note 1: At least using cabal version 1.8.0.2 the build step is actually 
+unnecessary - hogre will be built during install phase.
+Note 2: building hogre may take quite a while because of compiling C++.
+During this cabal will print no output. To see the build progress, use 
+"cabal install -v2".
+
+4. [Windows] cabal configure [--user] && cabal install
+[--extra-include-dirs=c:\path\to\include\OGRE]
+[--extra-lib-dirs=c:\path\to\OGRE\lib\release].
+The extra include and library directories must be supplied in case
+the OGRE headers and libraries are not in the standard include and library
+search path. Also, the Boost C++ headers must be found in the include path.
+The OGRE include path must be the first include path supplied.
+
+5. OGRE does only graphics; for input, audio, networking etc. you need
+separate libraries. You're free to choose which (if any).
+
+6. You may want to check out the hogre-examples package for some examples
+at http://github.com/anttisalonen/hogre-examples.
+
+Known issues and bugs
+
+Currently there is no exception handling, which means incorrect use (e.g.
+not calling init or trying to access a non-existing entity will lead to an
+error report and crash. As long as nothing illegal is done, everything's fine.
+I'm planning on adding exception handling.
+
+I'm not quite sure how portable it is; it should work on any platform OGRE
+runs on (Linux, Mac OS X, Windows), and should work on any Haskell compiler 
+that does FFI and knows how to invoke a C++ compiler. So far only GHC has 
+been tested. It shouldn't matter which C++ compiler is being used.
+
+Contact
+
+Email: ajsalonen at gmail dot com
+
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -21,6 +21,8 @@
   {
     buildHook   = ogreBuildHook
   , instHook    = ogreInstHook
+  , copyHook    = ogreCopyHook
+  , regHook     = ogreRegHook
   , cleanHook   = ogreCleanHook
   , haddockHook = ogreHaddockHook
   , hookedPrograms = [simpleProgram "cgen",
@@ -159,6 +161,16 @@
 ogreInstHook pd lb uh ifl = do
   lib <- mkLibrary lb
   (instHook simpleUserHooks) pd{library = Just lib} lb uh ifl
+
+ogreCopyHook :: PackageDescription -> LocalBuildInfo -> UserHooks -> CopyFlags -> IO ()
+ogreCopyHook pd lb uh cfl = do
+  lib <- mkLibrary lb
+  (copyHook simpleUserHooks) pd{library = Just lib} lb uh cfl
+
+ogreRegHook :: PackageDescription -> LocalBuildInfo -> UserHooks -> RegisterFlags -> IO ()
+ogreRegHook pd lb uh rfl = do
+  lib <- mkLibrary lb
+  (regHook simpleUserHooks) pd{library = Just lib} lb uh rfl
 
 ogreCleanHook pd n uh cf = do
     exists <- doesDirectoryExist resRoot
diff --git a/hogre.cabal b/hogre.cabal
--- a/hogre.cabal
+++ b/hogre.cabal
@@ -1,5 +1,5 @@
 Name:               hogre
-Version:            0.1.3
+Version:            0.1.4
 Cabal-Version:      >= 1.6
 License:            MIT
 License-File:       LICENSE
@@ -27,7 +27,7 @@
   location:  git://github.com/anttisalonen/hogre.git
 
 Library
-  Build-Depends:     base >= 3 && < 5, haskell98, cgen
+  Build-Depends:     base >= 3 && < 5, cgen >= 0.0.4
   Ghc-options:       -Wall
   cc-options:        -Wall
   if !os(windows)
