diff --git a/Foundation/Compat/ByteString.hs b/Foundation/Compat/ByteString.hs
--- a/Foundation/Compat/ByteString.hs
+++ b/Foundation/Compat/ByteString.hs
@@ -9,15 +9,24 @@
 {-# LANGUAGE ViewPatterns #-}
 module Foundation.Compat.ByteString
     ( fromByteString
+    , toByteString
     ) where
 
 import Data.ByteString (ByteString)
-import Data.ByteString.Internal (toForeignPtr)
+import Data.ByteString.Internal (toForeignPtr, unsafeCreate, memcpy)
 import Foundation
 import Foundation.Array
-import Foundation.Array.Internal
+import Foundation.Array.Internal (withPtr, fromForeignPtr)
 
 -- | Convert a ByteString to a UArray Word8,
 -- without re-allocating or copying anything
 fromByteString :: ByteString -> UArray Word8
 fromByteString = fromForeignPtr . toForeignPtr
+
+-- | Convert a UArray Word8 to ByteString
+--
+-- all the bytes are copied to a brand new memory chunk
+toByteString :: UArray Word8 -> ByteString
+toByteString v = unsafeCreate len $ \dst -> withPtr v $ \src -> memcpy dst src len
+  where
+    !len = length v
diff --git a/Foundation/Compat/Text.hs b/Foundation/Compat/Text.hs
new file mode 100644
--- /dev/null
+++ b/Foundation/Compat/Text.hs
@@ -0,0 +1,26 @@
+-- |
+-- Module      : Foundation.Compat.Text
+-- License     : BSD-style
+-- Maintainer  : Foundation
+-- Stability   : experimental
+-- Portability : portable
+--
+-- Module to convert text's Text type
+module Foundation.Compat.Text
+    ( toText
+    , fromText
+    ) where
+
+import Data.Text (Text)
+import qualified Data.Text as T
+import Foundation
+
+-- | Convert a String to a Text.
+-- This currently allocates a new Text and copies the String content.
+toText :: String -> Text
+toText = T.pack . toList
+
+-- | Convert a Text to String
+-- This currently allocates a new String and copies the Text content.
+fromText :: Text -> String
+fromText = fromList . T.unpack
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -6,11 +6,11 @@
 
 For now, edge support the following packages:
 
-* bytestring (incomplete)
+* bytestring (initial)
+* text (initial)
 
 And planning to add support to:
 
-* text
 * vector
 
 If you think edge would benefits from other packages, open an issue (or even better a PR) with
diff --git a/foundation-edge.cabal b/foundation-edge.cabal
--- a/foundation-edge.cabal
+++ b/foundation-edge.cabal
@@ -1,5 +1,5 @@
 Name:                foundation-edge
-Version:             0.0.1
+Version:             0.0.2
 Synopsis:            foundation's edge with the conventional set of packages
 Description:
     A set of functions to allow interaction with more conventional
@@ -28,12 +28,13 @@
 
 Library
   Exposed-modules:    Foundation.Compat.ByteString
+                    , Foundation.Compat.Text
   Default-Extensions: NoImplicitPrelude
                       TypeFamilies
                       BangPatterns
                       DeriveDataTypeable
-  Build-depends:      base >= 4 && < 5
-                    , foundation
+  Build-depends:      foundation >= 0.0.7
                     , bytestring
+                    , text
   ghc-options:        -Wall
   default-language:   Haskell2010
