diff --git a/eventful-sql-common.cabal b/eventful-sql-common.cabal
--- a/eventful-sql-common.cabal
+++ b/eventful-sql-common.cabal
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           eventful-sql-common
-version:        0.1.3
+version:        0.2.0
 synopsis:       Common library for SQL event stores
 description:    Common library for SQL event stores
 category:       Database,Eventsourcing
diff --git a/src/Eventful/Store/Sql/Operations.hs b/src/Eventful/Store/Sql/Operations.hs
--- a/src/Eventful/Store/Sql/Operations.hs
+++ b/src/Eventful/Store/Sql/Operations.hs
@@ -5,7 +5,8 @@
 
 module Eventful.Store.Sql.Operations
   ( SqlEventStoreConfig (..)
-  , sqlGloballyOrderedEventStore
+  , sqlEventStoreReader
+  , sqlGlobalEventStoreReader
   , sqlGetProjectionIds
   , sqlGetAggregateEvents
   , sqlMaxEventVersion
@@ -42,26 +43,32 @@
   , sqlEventStoreConfigDataField :: EntityField entity serialized
   }
 
-sqlGloballyOrderedEventStore
+sqlEventStoreReader
   :: (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend)
   => SqlEventStoreConfig entity serialized
-  -> GloballyOrderedEventStore serialized (SqlPersistT m)
-sqlGloballyOrderedEventStore config =
-  GloballyOrderedEventStore $ sqlGetAllEventsInRange config
+  -> VersionedEventStoreReader (SqlPersistT m) serialized
+sqlEventStoreReader config = EventStoreReader $ sqlGetAggregateEvents config
 
-sqlEventToGloballyOrdered
+sqlGlobalEventStoreReader
+  :: (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend)
+  => SqlEventStoreConfig entity serialized
+  -> GlobalEventStoreReader (SqlPersistT m) serialized
+sqlGlobalEventStoreReader config =
+  EventStoreReader $ sqlGetAllEventsInRange config
+
+sqlEventToGlobalStream
   :: SqlEventStoreConfig entity serialized
   -> Entity entity
-  -> GloballyOrderedEvent serialized
-sqlEventToGloballyOrdered config@SqlEventStoreConfig{..} (Entity key event) =
-  storedEventToGloballyOrderedEvent (sqlEventStoreConfigUnKey key) (sqlEventToStored config event)
+  -> GlobalStreamEvent serialized
+sqlEventToGlobalStream config@SqlEventStoreConfig{..} (Entity key event) =
+  StreamEvent () (sqlEventStoreConfigUnKey key) (sqlEventToVersioned config event)
 
-sqlEventToStored
+sqlEventToVersioned
   :: SqlEventStoreConfig entity serialized
   -> entity
-  -> StoredEvent serialized
-sqlEventToStored SqlEventStoreConfig{..} entity =
-  StoredEvent
+  -> VersionedStreamEvent serialized
+sqlEventToVersioned SqlEventStoreConfig{..} entity =
+  StreamEvent
   (sqlEventStoreConfigUUID entity)
   (sqlEventStoreConfigVersion entity)
   (sqlEventStoreConfigData entity)
@@ -79,40 +86,39 @@
 sqlGetAggregateEvents
   :: (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend)
   => SqlEventStoreConfig entity serialized
-  -> UUID
-  -> EventStoreQueryRange EventVersion
-  -> SqlPersistT m [StoredEvent serialized]
-sqlGetAggregateEvents config@SqlEventStoreConfig{..} uuid EventStoreQueryRange{..} = do
+  -> QueryRange UUID EventVersion
+  -> SqlPersistT m [VersionedStreamEvent serialized]
+sqlGetAggregateEvents config@SqlEventStoreConfig{..} QueryRange{..} = do
   entities <- selectList filters selectOpts
-  return $ sqlEventToStored config . entityVal <$> entities
+  return $ sqlEventToVersioned config . entityVal <$> entities
   where
     startFilter =
-      case eventStoreQueryRangeStart of
+      case queryRangeStart of
         StartFromBeginning -> []
         StartQueryAt start -> [sqlEventStoreConfigVersionField >=. start]
     (endFilter, endSelectOpt) =
-      case eventStoreQueryRangeLimit of
+      case queryRangeLimit of
         NoQueryLimit -> ([], [])
         MaxNumberOfEvents maxNum -> ([], [LimitTo maxNum])
         StopQueryAt stop -> ([sqlEventStoreConfigVersionField <=. stop], [])
-    filters = (sqlEventStoreConfigUUIDField ==. uuid) : startFilter ++ endFilter
+    filters = (sqlEventStoreConfigUUIDField ==. queryRangeKey) : startFilter ++ endFilter
     selectOpts = Asc sqlEventStoreConfigSequenceNumberField : endSelectOpt
 
 sqlGetAllEventsInRange
   :: (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend)
   => SqlEventStoreConfig entity serialized
-  -> EventStoreQueryRange SequenceNumber
-  -> SqlPersistT m [GloballyOrderedEvent serialized]
-sqlGetAllEventsInRange config@SqlEventStoreConfig{..} EventStoreQueryRange{..} = do
+  -> QueryRange () SequenceNumber
+  -> SqlPersistT m [GlobalStreamEvent serialized]
+sqlGetAllEventsInRange config@SqlEventStoreConfig{..} QueryRange{..} = do
   entities <- selectList filters selectOpts
-  return $ sqlEventToGloballyOrdered config <$> entities
+  return $ sqlEventToGlobalStream config <$> entities
   where
     startFilter =
-      case eventStoreQueryRangeStart of
+      case queryRangeStart of
         StartFromBeginning -> []
         StartQueryAt start -> [sqlEventStoreConfigSequenceNumberField >=. sqlEventStoreConfigMakeKey start]
     (endFilter, endSelectOpt) =
-      case eventStoreQueryRangeLimit of
+      case queryRangeLimit of
         NoQueryLimit -> ([], [])
         MaxNumberOfEvents maxNum -> ([], [LimitTo maxNum])
         StopQueryAt stop -> ([sqlEventStoreConfigSequenceNumberField <=. sqlEventStoreConfigMakeKey stop], [])
