diff --git a/opentelemetry-wai.cabal b/opentelemetry-wai.cabal
--- a/opentelemetry-wai.cabal
+++ b/opentelemetry-wai.cabal
@@ -2,7 +2,7 @@
 name:                opentelemetry-wai
 description:         OpenTelemetry middleware for wai
 category:            OpenTelemetry
-version:             0.2.0
+version:             0.3.0
 license-file:        LICENSE
 license:             Apache-2.0
 author:              Dmitry Ivanov
@@ -41,7 +41,6 @@
     -Wincomplete-record-updates
     -Wincomplete-uni-patterns
     -Wpartial-fields
-    -Wredundant-constraints
     -fhide-source-paths
     -ferror-spans
     -freverse-errors
@@ -50,7 +49,8 @@
   import: options
   build-depends:
     base >= 4.12 && < 5,
-    opentelemetry,
+    bytestring,
+    opentelemetry >= 0.3.0,
     http-types,
     text,
     wai
diff --git a/src/OpenTelemetry/Network/Wai/Middleware.hs b/src/OpenTelemetry/Network/Wai/Middleware.hs
--- a/src/OpenTelemetry/Network/Wai/Middleware.hs
+++ b/src/OpenTelemetry/Network/Wai/Middleware.hs
@@ -2,11 +2,10 @@
 
 module OpenTelemetry.Network.Wai.Middleware where
 
-import qualified Data.Text as T
-import qualified Data.Text.Encoding as T
+import qualified Data.ByteString.Char8 as BS8
 import Network.HTTP.Types
 import Network.Wai
-import OpenTelemetry.Implicit
+import OpenTelemetry.Eventlog
 import OpenTelemetry.Propagation
 
 -- Semantic conventions for HTTP spans:
@@ -15,14 +14,14 @@
 middleware :: Application -> Application
 middleware app = \req sendResp -> do
   withSpan "WAI handler" $ do
-    case extractSpanContextFromHeaders (requestHeaders req) of
+    case propagateFromHeaders w3cTraceContext (requestHeaders req) of
       Just ctx -> setParentSpanContext ctx
       _ -> pure ()
-    setTag "span.kind" ("server" :: T.Text)
-    setTag "component" ("http" :: T.Text)
-    setTag "http.method" $ T.decodeUtf8 (requestMethod req)
-    setTag "http.target" $ T.decodeUtf8 (rawPathInfo req)
-    setTag "http.flavor" $ show (httpVersion req)
+    setTag "span.kind" "server"
+    setTag "component" "http"
+    setTag "http.method" $ requestMethod req
+    setTag "http.target" $ rawPathInfo req
+    setTag "http.flavor" $ BS8.pack $ show (httpVersion req)
     app req $ \resp -> do
-      setTag "http.status_code" (statusCode $ responseStatus resp)
+      setTag "http.status_code" (BS8.pack $ show $ statusCode $ responseStatus resp)
       sendResp resp
