diff --git a/ActiveHs/Base.hs b/ActiveHs/Base.hs
new file mode 100644
--- /dev/null
+++ b/ActiveHs/Base.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE DeriveDataTypeable, ExistentialQuantification, GeneralizedNewtypeDeriving #-}
+module ActiveHs.Base
+    ( toDyn
+    , Dynamic
+    , WrapData (WrapData)
+    , wrapData
+    , WrapData2 (WrapData2)
+    , Data
+
+    , TestCase (TestCase)
+
+    , QCInt  (QCInt)
+    , QCNat  (QCNat)
+    , QCBool (QCBool)
+    ) where
+
+import Data.Dynamic (Dynamic, toDyn)
+import Data.Data (Data, Typeable)
+import Test.QuickCheck
+
+-------------------------
+
+data WrapData
+    = forall a. Data a 
+    => WrapData a
+        deriving (Typeable)
+
+data WrapData2
+    = forall a. Data a
+    => WrapData2 a a
+        deriving (Typeable)
+
+wrapData :: Data a => a -> WrapData
+wrapData = WrapData
+
+------------------------
+
+data TestCase 
+    = forall a prop . (Testable prop, Data a) 
+    => TestCase  (((String, a, a) -> Property) -> prop)
+        deriving (Typeable)
+
+newtype QCInt = QCInt Int
+    deriving (Show, Arbitrary)
+
+newtype QCBool = QCBool Bool
+    deriving (Show, Arbitrary)
+
+newtype QCNat = QCNat Int
+    deriving (Show)
+
+instance Arbitrary QCNat where
+    arbitrary 
+        = fmap (\(NonNegative n) -> QCNat n) arbitrary
+    shrink (QCNat n) 
+        = fmap (\(NonNegative m) -> QCNat m) $ shrink (NonNegative n)
+
diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,31 @@
+Copyright Péter Diviánszky 2011
+
+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 Péter Diviánszky 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/activehs-base.cabal b/activehs-base.cabal
new file mode 100644
--- /dev/null
+++ b/activehs-base.cabal
@@ -0,0 +1,27 @@
+name:                activehs-base
+version:             0.2
+category:            Education, Documentation
+synopsis:            Basic definitions for activehs
+description:
+    This library consists of one module with a few definitions.
+    I try to keep it small because this module has to be loaded
+    in the interpreter many times during the runtime of the Active.hs
+    server.
+stability:           alpha
+license:             BSD3
+license-file:        LICENSE
+author:              Péter Diviánszky
+maintainer:          divip@aszt.inf.elte.hu
+cabal-version:       >=1.6
+build-type:          Simple
+
+Library 
+  GHC-Options:
+    -Wall -fwarn-tabs
+  Exposed-Modules:
+    ActiveHs.Base
+  Build-Depends:
+    base >= 4.0 && < 4.4,
+    QuickCheck >= 2.4 && < 2.5
+
+
