diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,11 @@
 # Changelog for reflex-test-host
 
+
+## 0.1.2.2
+- add `fireQueuedEvents`
+- switch over to cabal instead of stack
+- update dependency to support reflex 0.9
+
 ## 0.1.2.1
 - added `Reflex.Test.Monad.Host`
 
diff --git a/reflex-test-host.cabal b/reflex-test-host.cabal
--- a/reflex-test-host.cabal
+++ b/reflex-test-host.cabal
@@ -1,13 +1,11 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.31.2.
+-- This file has been generated from package.yaml by hpack version 0.34.5.
 --
 -- see: https://github.com/sol/hpack
---
--- hash: c8330b005ad3694b1afc1a8c8db7913c2eff641ff20d06850e0714812c0eb804
 
 name:           reflex-test-host
-version:        0.1.2.1
+version:        0.1.2.2
 synopsis:       reflex host methods for testing without external events
 description:    Please see the README on GitHub at <https://github.com/pdlla/reflex-test-host#readme>
 category:       FRP, Reflex
@@ -32,11 +30,44 @@
       Reflex.Test.Host
       Reflex.Test.SimpleHost
       Reflex.Test.Monad.Host
-  other-modules:
-      Paths_reflex_test_host
   hs-source-dirs:
       src
-  default-extensions: ApplicativeDo BangPatterns DataKinds ConstraintKinds DeriveFoldable DeriveFunctor DeriveTraversable DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies EmptyCase ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns OverloadedStrings PatternSynonyms RankNTypes ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications TypeFamilies TypeFamilyDependencies TypeOperators NoImplicitPrelude
+  default-extensions:
+      ApplicativeDo
+      BangPatterns
+      DataKinds
+      ConstraintKinds
+      DeriveFoldable
+      DeriveFunctor
+      DeriveTraversable
+      DeriveGeneric
+      DeriveLift
+      DeriveTraversable
+      DerivingStrategies
+      EmptyCase
+      ExistentialQuantification
+      FlexibleContexts
+      FlexibleInstances
+      FunctionalDependencies
+      GADTs
+      GeneralizedNewtypeDeriving
+      InstanceSigs
+      KindSignatures
+      LambdaCase
+      MultiParamTypeClasses
+      MultiWayIf
+      NamedFieldPuns
+      OverloadedStrings
+      PatternSynonyms
+      RankNTypes
+      ScopedTypeVariables
+      StandaloneDeriving
+      TupleSections
+      TypeApplications
+      TypeFamilies
+      TypeFamilyDependencies
+      TypeOperators
+      NoImplicitPrelude
   ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints
   build-depends:
       base >=4.7 && <5
@@ -45,7 +76,7 @@
     , mtl
     , primitive
     , ref-tf
-    , reflex
+    , reflex >=0.7 && <0.10
     , these
     , transformers
   default-language: Haskell2010
@@ -59,7 +90,42 @@
       Paths_reflex_test_host
   hs-source-dirs:
       test
-  default-extensions: ApplicativeDo BangPatterns DataKinds ConstraintKinds DeriveFoldable DeriveFunctor DeriveTraversable DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies EmptyCase ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns OverloadedStrings PatternSynonyms RankNTypes ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications TypeFamilies TypeFamilyDependencies TypeOperators NoImplicitPrelude
+  default-extensions:
+      ApplicativeDo
+      BangPatterns
+      DataKinds
+      ConstraintKinds
+      DeriveFoldable
+      DeriveFunctor
+      DeriveTraversable
+      DeriveGeneric
+      DeriveLift
+      DeriveTraversable
+      DerivingStrategies
+      EmptyCase
+      ExistentialQuantification
+      FlexibleContexts
+      FlexibleInstances
+      FunctionalDependencies
+      GADTs
+      GeneralizedNewtypeDeriving
+      InstanceSigs
+      KindSignatures
+      LambdaCase
+      MultiParamTypeClasses
+      MultiWayIf
+      NamedFieldPuns
+      OverloadedStrings
+      PatternSynonyms
+      RankNTypes
+      ScopedTypeVariables
+      StandaloneDeriving
+      TupleSections
+      TypeApplications
+      TypeFamilies
+      TypeFamilyDependencies
+      TypeOperators
+      NoImplicitPrelude
   ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
   build-depends:
       HUnit
@@ -71,7 +137,7 @@
     , mtl
     , primitive
     , ref-tf
-    , reflex
+    , reflex >=0.7 && <0.10
     , reflex-test-host
     , these
     , transformers
diff --git a/src/Reflex/Test/Monad/Host.hs b/src/Reflex/Test/Monad/Host.hs
--- a/src/Reflex/Test/Monad/Host.hs
+++ b/src/Reflex/Test/Monad/Host.hs
@@ -86,6 +86,9 @@
   -- | fire all queued events and run a ReadPhase to produce results from the execution frames
   -- readphase takes place in the inner monad
   fireQueuedEventsAndRead :: ReadPhase (InnerMonad m) a -> m [a]
+  -- | same as above with no ReadPhase
+  fireQueuedEvents :: (Monad (ReadPhase (InnerMonad m))) => m [()]
+  fireQueuedEvents = fireQueuedEventsAndRead (return ())
 
 -- m is 'InnerMonad' from above
 data AppState t m = AppState
@@ -137,6 +140,7 @@
     return out
   fireQueuedEventsAndRead rp = do
     as <- get
+    put $ as { _appState_queuedEvents = [] }
     lift $ (runFireCommand $ _appState_fire as) (_appState_queuedEvents as) rp
 
 runReflexTestT
diff --git a/test/Reflex/Test/Monad/HostSpec.hs b/test/Reflex/Test/Monad/HostSpec.hs
--- a/test/Reflex/Test/Monad/HostSpec.hs
+++ b/test/Reflex/Test/Monad/HostSpec.hs
@@ -74,17 +74,22 @@
     -- get our app's output events and subscribe to them
     BasicNetworkTest1_Output {..} <- outputs
     oh                            <- subscribeEvent _basicNetworkTest1_Output_intEv
-    -- get our input trigger ref, dereference it, queue it and fire it
+
+    -- get our input trigger ref
     BasicNetworkTest1_InputTriggerRefs{..}                           <- inputTriggerRefs
 
-    -- simpler version that uses 'queueEventTriggerRef'
+    -- fire it
     queueEventTriggerRef _basicNetworkTest1_InputTriggerRefs_intEvTRef 123
-
     -- fire the events and read from our output handle
     a <- fireQueuedEventsAndRead $ sequence =<< readEvent oh
 
     -- validate results
     liftIO $ a @?= [Just 123]
+
+    -- try a different value
+    queueEventTriggerRef _basicNetworkTest1_InputTriggerRefs_intEvTRef 238
+    a <- fireQueuedEventsAndRead $ sequence =<< readEvent oh
+    liftIO $ a @?= [Just 238]
 
 
 spec :: Spec
