diff --git a/composite-ekg.cabal b/composite-ekg.cabal
--- a/composite-ekg.cabal
+++ b/composite-ekg.cabal
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           composite-ekg
-version:        0.2.0.0
+version:        0.3.0.0
 synopsis:       EKG Metrics for Vinyl/Frames records
 description:    Integration between EKG and Vinyl/Frames records allowing records holding registered metrics to be easily constructed from a type declaration.
 category:       Records
@@ -18,15 +18,13 @@
 library
   hs-source-dirs:
       src
-  default-extensions: DataKinds FlexibleContexts FlexibleInstances GeneralizedNewtypeDeriving MultiParamTypeClasses NoImplicitPrelude OverloadedStrings PolyKinds ScopedTypeVariables StandaloneDeriving StrictData TemplateHaskell TupleSections TypeFamilies TypeOperators ViewPatterns
+  default-extensions: DataKinds FlexibleContexts FlexibleInstances GeneralizedNewtypeDeriving MultiParamTypeClasses OverloadedStrings PolyKinds ScopedTypeVariables StandaloneDeriving StrictData TemplateHaskell TupleSections TypeFamilies TypeOperators ViewPatterns
   ghc-options: -Wall -O2
   build-depends:
       base >= 4.7 && < 5
-    , basic-prelude
     , composite-base
     , ekg
     , ekg-core
-    , Frames
     , lens
     , text
     , vinyl
diff --git a/src/Composite/Ekg.hs b/src/Composite/Ekg.hs
--- a/src/Composite/Ekg.hs
+++ b/src/Composite/Ekg.hs
@@ -1,14 +1,13 @@
 module Composite.Ekg (EkgMetric(ekgMetric)) where
 
-import BasicPrelude
-import Composite.Base (NamedField(fieldName))
-import Control.Lens (view, _Unwrapped)
+import Composite.Record ((:->)(Val), Rec((:&), RNil), Record)
 import Data.Char (isUpper, toLower)
+import Data.Functor.Identity (Identity(Identity))
+import Data.Monoid ((<>))
 import qualified Data.Text as Text
 import Data.Proxy (Proxy(Proxy))
-import Data.Vinyl.Core (Rec((:&), RNil))
-import Data.Vinyl.Functor (Identity(Identity))
-import Frames (Record, (:->))
+import Data.Text (Text, pack)
+import GHC.TypeLits (KnownSymbol, symbolVal)
 import System.Metrics (Store, createCounter, createGauge, createLabel, createDistribution)
 import System.Metrics.Counter (Counter)
 import System.Metrics.Gauge (Gauge)
@@ -44,10 +43,10 @@
 class EkgMetric a where
   ekgMetric :: Text -> Store -> IO a
 
-instance forall a s rs. (EkgMetric a, EkgMetric (Record rs), NamedField (s :-> a)) => EkgMetric (Record ((s :-> a) ': rs)) where
+instance forall a s rs. (EkgMetric a, EkgMetric (Record rs), KnownSymbol s) => EkgMetric (Record ((s :-> a) ': rs)) where
   ekgMetric prefix store =
     (:&)
-      <$> (Identity . view _Unwrapped <$> ekgMetric (prefix <> "." <> (upperScores . fieldName) (Proxy :: Proxy (s :-> a))) store)
+      <$> (Identity . Val <$> ekgMetric (prefix <> "." <> (upperScores . pack . symbolVal) (Proxy :: Proxy s)) store)
       <*> ekgMetric prefix store
 
 instance EkgMetric (Record '[]) where
