diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for keid-dearimgui
 
+## 0.1.2.1
+
+- Update for keid-core-0.1.8.0.
+
 ## 0.1.2.0
 
 - Added `renderWith` helper to inject DearImGui initialization in stage rendering components.
diff --git a/keid-ui-dearimgui.cabal b/keid-ui-dearimgui.cabal
--- a/keid-ui-dearimgui.cabal
+++ b/keid-ui-dearimgui.cabal
@@ -1,16 +1,16 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.34.4.
+-- This file has been generated from package.yaml by hpack version 0.35.1.
 --
 -- see: https://github.com/sol/hpack
 
 name:           keid-ui-dearimgui
-version:        0.1.2.0
+version:        0.1.2.1
 synopsis:       DearImGui elements for Keid engine.
 category:       Game Engine
 author:         IC Rainbow
 maintainer:     keid@aenor.ru
-copyright:      2021 IC Rainbow
+copyright:      2023 IC Rainbow
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
@@ -94,7 +94,7 @@
     , binary
     , bytestring
     , dear-imgui >=1.3.0
-    , keid-core >=0.1.7.0
+    , keid-core >=0.1.8.0
     , resourcet
     , rio >=0.1.12.0
     , rio-app
diff --git a/src/Render/ImGui.hs b/src/Render/ImGui.hs
--- a/src/Render/ImGui.hs
+++ b/src/Render/ImGui.hs
@@ -30,7 +30,8 @@
 import Engine.Types (GlobalHandles(..), StageRIO)
 import Engine.Vulkan.Types (HasRenderPass(..), HasSwapchain(..), Queues(..), getDevice, getMultisample)
 import Resource.CommandBuffer qualified as CommandBuffer
-import Resource.DescriptorSet qualified as DescriptorSet
+import Resource.Region qualified as Region
+import Resource.Vulkan.DescriptorPool qualified as DescriptorPool
 import RIO.App (appEnv)
 import Vulkan.Core10 qualified as Vk
 import Vulkan.Exception (VulkanException(..))
@@ -81,13 +82,14 @@
   void $! register debugReleaseFinished
 
   ctx <- ImGui.createContext
-  _ctxKey <- register $ ImGui.destroyContext ctx
+  Region.register_ $ ImGui.destroyContext ctx
 
   context@GlobalHandles{..} <- asks appEnv
 
   let (QueueFamilyIndex queueFamily, queue) = qGraphics ghQueues
 
-  (_poolKey, pool) <- DescriptorSet.allocatePool 1 dsSizes
+  pool <- Region.local $
+    DescriptorPool.allocate (Just "ImGui") 1 dsSizes
 
   let
     initInfo = InitInfo
@@ -133,7 +135,7 @@
 
   pure (key, actionRes)
 
-dsSizes :: DescriptorSet.TypeMap Word32
+dsSizes :: [(Vk.DescriptorType, Word32)]
 dsSizes = map (, 100)
   [ Vk.DESCRIPTOR_TYPE_SAMPLER
   , Vk.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
