diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,30 @@
+Copyright (c) 2015, Oleg Grenrus
+
+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 the name of Oleg Grenrus nor the names of other
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 COPYRIGHT
+OWNER OR 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/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/acme-operators.cabal b/acme-operators.cabal
new file mode 100644
--- /dev/null
+++ b/acme-operators.cabal
@@ -0,0 +1,31 @@
+-- This file has been generated from package.yaml by hpack version 0.5.2.
+--
+-- see: https://github.com/sol/hpack
+
+name:           acme-operators
+version:        0.1.0.0
+synopsis:       Operators of base, all in one place!
+description:    Have you ever been wondering about some magic lookin operator. Here are all operators in base package. Not so many.
+category:       Documentation
+homepage:       https://github.com/phadej/acme-operators#readme
+bug-reports:    https://github.com/phadej/acme-operators/issues
+author:         Oleg Grenrus <oleg.grenrus@iki.fi>
+maintainer:     Oleg Grenrus <oleg.grenrus@iki.fi>
+license:        BSD3
+license-file:   LICENSE
+build-type:     Simple
+cabal-version:  >= 1.10
+
+source-repository head
+  type: git
+  location: https://github.com/phadej/acme-operators
+
+library
+  hs-source-dirs:
+      src
+  ghc-options: -Wall
+  build-depends:
+      base >= 4.7 && <4.9
+  exposed-modules:
+      Acme.Operators.Base
+  default-language: Haskell2010
diff --git a/src/Acme/Operators/Base.hs b/src/Acme/Operators/Base.hs
new file mode 100644
--- /dev/null
+++ b/src/Acme/Operators/Base.hs
@@ -0,0 +1,122 @@
+-- |
+-- Module      :  Acme.Operators.Base
+-- License     :  BSD-3-Clause (see the file LICENSE)
+-- Maintainer  :  Oleg Grenrus <oleg.grenrus@iki.fi>
+--
+-- Have you ever been wondering about some magic lookin operator. Here are all operators in base package. Not so many.
+--
+-- The operators are in few bigger logical groups, subgrouped by package. Many of them are exported from 'Prelude'.
+--
+-- There is a Stack Overflow QA listing prononciations of some of the operators.
+-- See: <http://stackoverflow.com/questions/7746894/are-there-pronounceable-names-for-common-haskell-operators>
+{-# LANGUAGE CPP #-}
+module Acme.Operators.Base (
+  -- * Functions
+  -- ** Data.Function
+  ($),
+  (&),
+  -- * Functors
+  -- | Infamous operators on 'Functor', 'Applicative' and 'Monad'. Also 'Alternative'.
+
+  -- ** Data.Functor
+  (<$>),
+  (<$),
+  ($>),
+  -- ** Control.Applicative
+  (<*>),
+  (<*),
+  (*>),
+  (<**>),
+  (<|>),
+  -- ** Control.Monad
+  (>>=),
+  (>>),
+  (=<<),
+  (>=>),
+  (<=<),
+  (<$!>),
+  -- * Category & Arrows
+  -- ** Control.Category
+  -- | Dot operator '.' clashes with one in 'Prelude': 'Prelude..'. You can use '<<<'.
+  (.),
+  (>>>),
+  (<<<),
+  -- ** Control.Arrow
+  -- | Optionally one can use @Arrows@ language extensions. See: <https://downloads.haskell.org/~ghc/7.10.1/docs/html/users_guide/arrow-notation.html>.
+  (***),
+  (&&&),
+  (^>>),
+  (>>^),
+  (<<^),
+  (^<<),
+  (+++),
+  (|||),
+  -- * Algebraic
+  -- ** Data.Eq
+  (==),
+  (/=),
+  -- ** Data.Ord
+  (<=),
+  (<),
+  (>),
+  (>=),
+  -- * Data.Monoid
+  (<>),
+  -- * Data
+  -- ** Data.Bits
+  (.&.),
+  (.|.),
+  -- ** Data.Bool
+  (&&),
+  (||),
+  -- ** Data.Complex
+  Complex(..), -- :+
+  -- ** Data.Ratio
+  (%),
+  -- ** Data.List
+  (++),
+  (!!),
+  (\\),
+  -- * Type level trickery
+  -- ** Data.Type.Equality
+  (:~:),
+  ) where
+
+import Control.Applicative
+import Control.Arrow
+import Control.Category
+import Control.Monad
+import Data.Bits
+import Data.Complex (Complex(..))
+import Data.Function hiding ((.))
+import Data.Functor
+import Data.List
+import Data.Monoid
+import Data.Ratio
+import Data.Type.Equality
+import Prelude hiding ((.))
+
+#if !MIN_VERSION_base(4,8,0)
+
+infixl 4 <$!>
+
+-- | Strict version of 'Data.Functor.<$>'.
+--
+-- @since 4.8.0.0
+(<$!>) :: Monad m => (a -> b) -> m a -> m b
+{-# INLINE (<$!>) #-}
+f <$!> m = do
+  x <- m
+  let z = f x
+  z `seq` return z
+
+-- | '&' is a reverse application operator.  This provides notational
+-- convenience.  Its precedence is one higher than that of the forward
+-- application operator '$', which allows '&' to be nested in '$'.
+--
+-- @since 4.8.0.0
+(&) :: a -> (a -> b) -> b
+x & f = f x
+
+
+#endif
