diff --git a/hs_sources/SDR/NetworkStream.hs b/hs_sources/SDR/NetworkStream.hs
new file mode 100644
--- /dev/null
+++ b/hs_sources/SDR/NetworkStream.hs
@@ -0,0 +1,42 @@
+module SDR.NetworkStream (
+        udpSendSocket,
+        udpRecvSocket,
+        udpSource,
+        udpSink
+    ) where
+
+import Control.Monad
+import Network.Socket (Socket, SockAddr)
+import qualified Network.Socket as Socket
+import Network.Socket.ByteString (sendAllTo, recv)
+import Foreign.Storable
+import qualified Data.Vector.Storable as VS
+import Data.Vector.Storable.ByteString
+import Pipes
+
+udpSendSocket :: IO Socket
+udpSendSocket = Socket.socket Socket.AF_INET Socket.Datagram Socket.defaultProtocol
+
+udpRecvSocket
+    :: SockAddr
+    -> IO Socket
+udpRecvSocket addr = do
+    socket <- udpSendSocket
+    Socket.bind socket addr
+    return socket
+
+udpSource 
+    :: Storable a 
+    => Socket 
+    -> Int 
+    -> Producer (VS.Vector a) IO ()
+udpSource sock size = forever $ do
+    s <- lift $ recv sock size
+    yield $ byteStringToVector s
+
+udpSink 
+    :: Storable a 
+    => Socket 
+    -> SockAddr
+    -> Consumer (VS.Vector a) IO ()
+udpSink dev addr = for cat $ liftIO . flip (sendAllTo dev) addr . vectorToByteString
diff --git a/sdr.cabal b/sdr.cabal
--- a/sdr.cabal
+++ b/sdr.cabal
@@ -1,5 +1,5 @@
 name:                sdr
-version:             0.1.0.12
+version:             0.1.0.13
 synopsis:            A software defined radio library
 description:         
     Write software defined radio applications in Haskell.
@@ -64,6 +64,7 @@
         SDR.ArgUtils, 
         SDR.FilterDesign,
         SDR.CPUID
+        SDR.NetworkStream
     -- other-modules:       
     other-extensions:    ScopedTypeVariables, GADTs
     build-depends:       
@@ -73,7 +74,7 @@
         pulse-simple         >=0.1   && <0.2, 
         pipes                >=4.1   && <4.4, 
         pipes-concurrency    >=2.0   && <2.1, 
-        time                 >=1.4   && <1.9, 
+        time                 >=1.4   && <1.10, 
         rtlsdr               >=0.1   && <0.2, 
         storable-complex     >=0.2   && <0.3, 
         pipes-bytestring     >=2.0   && <2.2, 
@@ -83,17 +84,19 @@
         tuple                >=0.2   && <0.4, 
         OpenGL               >=2.11  && <3.1,
         GLFW-b               >=1.4.8 && <4,
-        primitive            >=0.5   && <0.7, 
+        primitive            >=0.5   && <0.8, 
         colour               >=2.3   && <2.4, 
         pango                >=0.13  && <0.14, 
         containers           >=0.5   && <0.7, 
         cairo                >=0.13  && <0.14, 
         cereal               >=0.4   && <0.6, 
-        optparse-applicative >=0.11  && <0.15, 
+        optparse-applicative >=0.11  && <0.16, 
         Decimal              >=0.4   && <0.6,
         Chart                >=1.3   && <1.10, 
         Chart-cairo          >=1.3   && <1.10,
         transformers         >=0.5   && <0.6,
+        network              >=3     && <4,
+        bytestring-to-vector >=0.3   && <0.5,
         mwc-random
     -- hs-source-dirs:      
     default-language:    Haskell2010
@@ -115,9 +118,9 @@
     main-is:             TestSuite.hs
     build-depends:       
         base                       >=4.6  && <5, 
-        QuickCheck                 >=2.8  && <2.11, 
+        QuickCheck                 >=2.8  && <2.14, 
         vector                     >=0.11 && <0.13, 
-        primitive                  >=0.5  && <0.7, 
+        primitive                  >=0.5  && <0.8, 
         storable-complex           >=0.2  && <0.3,
         test-framework             >=0.8  && <0.9,
         test-framework-quickcheck2 >=0.3  && <0.4,
@@ -131,9 +134,9 @@
     main-is:             Benchmarks.hs
     build-depends:       
         base             >=4.6  && <5, 
-        criterion        >=1.0  && <1.4,
+        criterion        >=1.0  && <1.6,
         vector           >=0.11 && <0.13, 
-        primitive        >=0.5  && <0.7, 
+        primitive        >=0.5  && <0.8, 
         storable-complex >=0.2  && <0.3,
         sdr
     hs-source-dirs:      benchmarks
