diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2014 Joe Vargas
+
+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/Setup.hs b/Setup.hs
new file mode 100644
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/pregame.cabal b/pregame.cabal
new file mode 100644
--- /dev/null
+++ b/pregame.cabal
@@ -0,0 +1,40 @@
+name: pregame
+version: 0.1.0.0
+synopsis: Prelude counterpart
+description: Excessive Prelude styled imports.
+homepage: https://github.com/jxv/pregame
+license: MIT
+license-file: LICENSE
+author: Joe Vargas
+maintainer: https://github.com/jxv
+-- copyright:           
+category: Prelude
+build-type: Simple
+-- extra-source-files:  
+cabal-version: >=1.18
+
+source-repository head
+    type: git
+    location: https://github.com/jxv/pregame.git
+
+library
+  exposed-modules: Pregame
+  default-extensions: NoImplicitPrelude
+  -- other-modules:       
+  -- other-extensions:    
+  build-depends:
+    base >=4.7 && <4.8,
+    bytestring,
+    containers,
+    data-default,
+    mtl,
+    lens,
+    parallel,
+    safe,
+    stm,
+    transformers,
+    text,
+    tuple,
+    vector
+  hs-source-dirs: src
+  default-language: Haskell2010
diff --git a/src/Pregame.hs b/src/Pregame.hs
new file mode 100644
--- /dev/null
+++ b/src/Pregame.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE BangPatterns #-}
+module Pregame (module P) where
+
+import Control.Applicative as P
+import Control.Concurrent as P
+import Control.Concurrent.Chan as P
+import Control.Concurrent.STM as P
+import Control.Exception as P
+import Control.Parallel as P
+import Control.Parallel.Strategies as P
+import Control.Monad.IO.Class as P
+import Control.Lens as P
+import Data.Default as P
+import Data.Functor as P
+import Data.Either as P
+import Data.Function as P
+import Data.Maybe as P
+import Data.Tuple as P
+import Data.Tuple.All as P hiding (only)
+import GHC.Base as P hiding (coerce, lazy)
+import GHC.Enum as P
+import GHC.Num as P
+import GHC.Real as P
+import GHC.Float as P
+import GHC.Show as P
+import System.IO as P
+import System.IO.Error as P
+import Safe as P hiding (at)
+import Safe.Exact as P
+
+import Control.Monad.Trans.Cont as P (Cont, ContT)
+import Control.Monad.Trans.Error as P (Error, ErrorT)
+import Control.Monad.Trans.Identity as P (IdentityT)
+import Control.Monad.Trans.State as P (State, StateT)
+import Control.Monad.Trans.List as P (ListT)
+import Control.Monad.Trans.Maybe as P (MaybeT)
+import Control.Monad.Trans.Reader as P (Reader, ReaderT)
+import Control.Monad.Trans.RWS as P (RWS, RWST)
+import Control.Monad.Trans.Writer as P (Writer, WriterT)
+import Data.Map as P (Map)
+import Data.Sequence as P (Seq)
+import Data.Set as P (Set)
+import Data.Text as P (Text)
+import Data.Tree as P (Tree(..), Forest(..))
+import Data.ByteString as P (ByteString)
+import Data.Vector as P (Vector)
+
+
+infixr 0 $!
+($!) :: (a -> b) -> a -> b
+f $! x = let !vx = x in f vx
+
+fi :: (Num b, Integral a) => a -> b
+fi = fromIntegral
+
+io :: MonadIO m => IO a -> m a
+io = liftIO
