diff --git a/LICENSE_GHC b/LICENSE_GHC
new file mode 100644
--- /dev/null
+++ b/LICENSE_GHC
@@ -0,0 +1,31 @@
+The Glasgow Haskell Compiler License
+
+Copyright 2002, The University Court of the University of Glasgow. 
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+ 
+- Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+ 
+- Neither name of the University nor the names of its contributors may be
+used to endorse or promote products derived from this software without
+specific prior written permission. 
+
+THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
+GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+UNIVERSITY COURT OF THE UNIVERSITY OF GLASGOW OR THE CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,1 +1,7 @@
-http://christiaanb.github.io/clash2/
+# `clash-lib`
+  * See the LICENSE file for license and copyright details
+
+# `clash-ghc`
+  * See the LICENSE file for license and copyright details
+  * Contains code from the [GHC compiler](http://haskell.org/ghc), see the
+    LICENSE_GHC file for license and copyright details pertaining to that code.
diff --git a/clash-ghc.cabal b/clash-ghc.cabal
--- a/clash-ghc.cabal
+++ b/clash-ghc.cabal
@@ -1,5 +1,5 @@
 Name:                 clash-ghc
-Version:              0.3.0.1
+Version:              0.3.0.2
 Synopsis:             CAES Language for Synchronous Hardware
 Description:
   CλaSH (pronounced ‘clash’) is a functional hardware description language that
@@ -26,10 +26,12 @@
 Build-type:           Simple
 
 Extra-source-files:   README.md,
-                      src-bin/HsVersions.h
+                      LICENSE_GHC,
+                      src-bin/HsVersions.h,
                       src-bin/PosixSource.h
 
 Data-files:           primitives/clash.bit.json,
+                      primitives/clash.ghc.ghc2core.json,
                       primitives/clash.prelude.json,
                       primitives/clash.prelude.explicit.json
                       primitives/clash.promoted.nat.json,
@@ -54,7 +56,7 @@
 
 source-repository head
   type: git
-  location: git@github.com:christiaanb/clash2.git
+  location: https://github.com/christiaanb/clash2.git
 
 Flag standalone
   Description: Build compiler for non-cabal installation
@@ -79,8 +81,8 @@
                       base                 >= 4.3.1.0 && < 5,
                       bifunctors           >= 4.1.1,
                       bytestring           >= 0.9,
-                      clash-lib            >= 0.2.1,
-                      clash-prelude        >= 0.2,
+                      clash-lib            >= 0.3.0.1,
+                      clash-prelude        >= 0.5,
                       containers           >= 0.5.4.0,
                       directory            >= 1.2,
                       filepath             >= 1.3,
diff --git a/primitives/clash.ghc.ghc2core.json b/primitives/clash.ghc.ghc2core.json
new file mode 100644
--- /dev/null
+++ b/primitives/clash.ghc.ghc2core.json
@@ -0,0 +1,6 @@
+[ { "BlackBox" :
+    { "name"      : "EmptyCase"
+    , "templateE" : "~DEFAULTO"
+    }
+  }
+]
diff --git a/src-bin/InteractiveUI.hs b/src-bin/InteractiveUI.hs
--- a/src-bin/InteractiveUI.hs
+++ b/src-bin/InteractiveUI.hs
@@ -33,7 +33,7 @@
              TyThing(..), Phase, BreakIndex, Resume, SingleStep, Ghc,
              handleSourceError )
 import HsImpExp
-import HscTypes ( tyThingParent_maybe, handleFlagWarnings, getSafeMode, hsc_IC, 
+import HscTypes ( tyThingParent_maybe, handleFlagWarnings, getSafeMode, hsc_IC,
                   setInteractivePrintName )
 import Module
 import Name
@@ -49,7 +49,6 @@
 
 -- Other random utilities
 import BasicTypes hiding ( isTopLevel )
-import Config
 import Digraph
 import Encoding
 import FastString
@@ -109,6 +108,9 @@
 import           CLaSH.GHC.NetlistTypes
 import qualified CLaSH.Primitives.Util
 import           CLaSH.Rewrite.Types (DebugLevel(..))
+import           CLaSH.Util (clashLibVersion)
+import qualified Data.Version as Data.Version
+import qualified Paths_clash_ghc
 
 #ifdef STANDALONE
 
@@ -122,9 +124,8 @@
 
 #else
 
-import           Paths_clash_ghc
 getDefPrimDir :: IO FilePath
-getDefPrimDir = getDataFileName "primitives"
+getDefPrimDir = Paths_clash_ghc.getDataFileName "primitives"
 
 #endif
 
@@ -149,8 +150,9 @@
     }
 
 ghciWelcomeMsg :: String
-ghciWelcomeMsg = "CLaSHi, version " ++ cProjectVersion ++
-                 ": http://www.haskell.org/ghc/  :? for help"
+ghciWelcomeMsg = "CLaSHi, version " ++ Data.Version.showVersion Paths_clash_ghc.version ++
+                 " (using clash-lib, version " ++ Data.Version.showVersion clashLibVersion ++
+                 "):\nhttp://christiaanb.github.io/clash2/  :? for help"
 
 cmdName :: Command -> String
 cmdName (n,_,_) = n
@@ -695,7 +697,7 @@
 installInteractivePrint (Just ipFun) exprmode = do
   ok <- trySuccess $ do
                 (name:_) <- GHC.parseName ipFun
-                modifySession (\he -> let new_ic = setInteractivePrintName (hsc_IC he) name 
+                modifySession (\he -> let new_ic = setInteractivePrintName (hsc_IC he) name
                                       in he{hsc_IC = new_ic})
                 return Succeeded
 
@@ -1848,7 +1850,7 @@
 
 checkAdd :: InteractiveImport -> GHCi ()
 checkAdd ii = do
-  dflags <- getDynFlags 
+  dflags <- getDynFlags
   let safe = safeLanguageOn dflags
   case ii of
     IIModule modname
diff --git a/src-bin/Main.hs b/src-bin/Main.hs
--- a/src-bin/Main.hs
+++ b/src-bin/Main.hs
@@ -71,6 +71,7 @@
 import           Paths_clash_ghc
 #endif
 import           Exception (gcatch)
+import qualified Data.Version (showVersion)
 import           Control.Exception (ErrorCall (..))
 import qualified CLaSH.Driver
 import           CLaSH.GHC.Evaluator
@@ -78,6 +79,7 @@
 import           CLaSH.GHC.NetlistTypes
 import qualified CLaSH.Primitives.Util
 import           CLaSH.Rewrite.Types (DebugLevel(..))
+import           CLaSH.Util (clashLibVersion)
 
 #ifdef STANDALONE
 ghcLibDir :: IO FilePath
@@ -153,7 +155,7 @@
             do case preStartupMode of
                    ShowSupportedExtensions -> showSupportedExtensions
                    ShowVersion             -> showVersion
-                   ShowNumVersion          -> putStrLn cProjectVersion
+                   ShowNumVersion          -> putStrLn (Data.Version.showVersion Paths_clash_ghc.version)
                    ShowOptions             -> showOptions
         Right postStartupMode ->
             -- start our GHC session
@@ -758,7 +760,12 @@
 showSupportedExtensions = mapM_ putStrLn supportedLanguagesAndExtensions
 
 showVersion :: IO ()
-showVersion = putStrLn (cProjectName ++ ", version " ++ cProjectVersion)
+showVersion = putStrLn $ concat [ "CAES Language for Synchronous Hardware, version "
+                                , Data.Version.showVersion Paths_clash_ghc.version
+                                , " (using clash-lib, version: "
+                                , Data.Version.showVersion clashLibVersion
+                                , ")"
+                                ]
 
 showOptions :: IO ()
 showOptions = putStr (unlines availableOptions)
@@ -892,4 +899,4 @@
         "unrecognised flag: " ++ f ++ "\n" ++
         (case fuzzyMatch f (nub allFlags) of
             [] -> ""
-            suggs -> "did you mean one of:\n" ++ unlines (map ("  " ++) suggs)) 
+            suggs -> "did you mean one of:\n" ++ unlines (map ("  " ++) suggs))
