diff --git a/exe/eventlog-to-lightstep/Main.hs b/exe/eventlog-to-lightstep/Main.hs
--- a/exe/eventlog-to-lightstep/Main.hs
+++ b/exe/eventlog-to-lightstep/Main.hs
@@ -1,18 +1,12 @@
 {-# LANGUAGE OverloadedStrings #-}
 
-import Control.Concurrent.Async
-import Control.Monad
-import Data.Function
 import qualified Data.Text as T
 import OpenTelemetry.EventlogStreaming_Internal
 import OpenTelemetry.Exporter
 import OpenTelemetry.Lightstep.Config
 import OpenTelemetry.Lightstep.Exporter
-import System.Clock
-import System.Environment (getArgs, getEnvironment)
+import System.Environment (getArgs)
 import System.FilePath
-import System.IO
-import System.Process.Typed
 import Text.Printf
 
 main :: IO ()
@@ -23,26 +17,11 @@
       printf "Sending %s to Lightstep...\n" path
       Just lsConfig <- getEnvConfig
       let service_name = T.pack $ takeBaseName path
-      exporter <- createLightstepSpanExporter lsConfig {lsServiceName = service_name}
-      origin_timestamp <- fromIntegral . toNanoSecs <$> getTime Realtime
-      work origin_timestamp exporter $ EventLogFilename path
-      shutdown exporter
-      putStrLn "\nAll done.\n"
-    ("run" : program : "--" : args') -> do
-      printf "Streaming eventlog of %s to Lightstep...\n" program
-      Just lsConfig <- getEnvConfig
-      exporter <- createLightstepSpanExporter lsConfig {lsServiceName = T.pack program}
-      let pipe = program <> "-opentelemetry.pipe"
-      runProcess $ proc "mkfifo" [pipe]
-      env <- (("GHCRTS", "-l -ol" <> pipe) :) <$> getEnvironment -- TODO(divanov): please append to existing GHCRTS instead of overwriting
-      p <- startProcess (proc program args' & setEnv env)
-      origin_timestamp <- fromIntegral . toNanoSecs <$> getTime Realtime
-      restreamer <- async $
-        withFile pipe ReadMode (\handle ->
-          work origin_timestamp exporter $ EventLogHandle handle SleepAndRetryOnEOF)
-      waitExitCode p
-      wait restreamer
-      shutdown exporter
+      span_exporter <- createLightstepSpanExporter lsConfig {lsServiceName = service_name}
+      let metric_exporter = noopExporter
+      exportEventlog span_exporter metric_exporter path
+      shutdown span_exporter
+      shutdown metric_exporter
       putStrLn "\nAll done."
     _ -> do
       putStrLn "Usage:"
diff --git a/opentelemetry-lightstep.cabal b/opentelemetry-lightstep.cabal
--- a/opentelemetry-lightstep.cabal
+++ b/opentelemetry-lightstep.cabal
@@ -2,7 +2,7 @@
 name:                opentelemetry-lightstep
 description:         The OpenTelemetry Haskell Client (Lightstep exporter) https://opentelemetry.io
 category:            OpenTelemetry
-version: 0.4.2
+version: 0.5.0
 license-file:        LICENSE
 license:             Apache-2.0
 author:              Dmitry Ivanov
@@ -90,4 +90,3 @@
     unordered-containers
   main-is: Main.hs
   hs-source-dirs: exe/eventlog-to-lightstep
-
diff --git a/src/OpenTelemetry/Lightstep/Exporter.hs b/src/OpenTelemetry/Lightstep/Exporter.hs
--- a/src/OpenTelemetry/Lightstep/Exporter.hs
+++ b/src/OpenTelemetry/Lightstep/Exporter.hs
@@ -2,25 +2,15 @@
 
 module OpenTelemetry.Lightstep.Exporter where
 
-import Control.Concurrent.Async
-import Control.Concurrent.STM
 import Control.Monad.IO.Class
-import Data.Aeson
-import qualified Data.HashMap.Strict as HM
-import Data.Scientific
-import qualified Data.Text as T
-import Network.HTTP.Client
-import Network.HTTP.Client.TLS
-import Network.HTTP.Types
 import OpenTelemetry.Common
 import OpenTelemetry.Exporter
 import OpenTelemetry.Lightstep.Config
-import OpenTelemetry.SpanContext
 import OpenTelemetry.ZipkinExporter
 import Text.Printf
 
 createLightstepSpanExporter :: MonadIO m => LightstepConfig -> m (Exporter Span)
-createLightstepSpanExporter cfg@(LightstepConfig {..}) = liftIO do
+createLightstepSpanExporter LightstepConfig {..} = liftIO do
   let zcfg =
         ZipkinConfig
           { zEndpoint = printf "https://%s:%d/api/v2/spans" lsHostName (fromIntegral lsPort :: Int),
