diff --git a/c-storable.cabal b/c-storable.cabal
--- a/c-storable.cabal
+++ b/c-storable.cabal
@@ -1,6 +1,6 @@
 name: c-storable
-version: 0.2
-cabal-version: >= 1.8
+version: 0.3
+cabal-version: >= 1.10
 build-type: Simple
 synopsis: CStorable class
 description: Replacement for Storable class that omits non-C types
@@ -25,3 +25,4 @@
         ForeignC
     hs-source-dirs: src
     ghc-options: -Wall -fno-warn-name-shadowing
+    default-language: Haskell2010
diff --git a/src/ForeignC.hs b/src/ForeignC.hs
--- a/src/ForeignC.hs
+++ b/src/ForeignC.hs
@@ -231,3 +231,9 @@
 with val f = alloca $ \ptr -> do
     poke ptr val
     f ptr
+
+new :: (CStorable a) => a -> IO (Ptr a)
+new val  = do
+    ptr <- malloc
+    poke ptr val
+    return ptr
