diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj b/Adventures in Lestoria/Adventures in Lestoria.vcxproj
index 235b12f9..f2e8c52b 100644
--- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj	
+++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj	
@@ -757,10 +757,6 @@
     <ClCompile Include="Ability.cpp" />
     <ClCompile Include="Animation.cpp" />
     <ClCompile Include="Arrow.cpp" />
-    <ClCompile Include="ArtificerDisassembleConfirmWindow.cpp">
-      <SubType>
-      </SubType>
-    </ClCompile>
     <ClCompile Include="ArtificerDisassembleWindow.cpp">
       <SubType>
       </SubType>
@@ -773,10 +769,6 @@
       <SubType>
       </SubType>
     </ClCompile>
-    <ClCompile Include="ArtificerRefineConfirmWindow.cpp">
-      <SubType>
-      </SubType>
-    </ClCompile>
     <ClCompile Include="ArtificerRefineWindow.cpp">
       <SubType>
       </SubType>
diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters
index 9dbc9295..70fa620a 100644
--- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters	
+++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters	
@@ -1190,15 +1190,9 @@
     <ClCompile Include="ArtificerRefineWindow.cpp">
       <Filter>Source Files\Interface</Filter>
     </ClCompile>
-    <ClCompile Include="ArtificerRefineConfirmWindow.cpp">
-      <Filter>Source Files\Interface</Filter>
-    </ClCompile>
     <ClCompile Include="ArtificerDisassembleWindow.cpp">
       <Filter>Source Files\Interface</Filter>
     </ClCompile>
-    <ClCompile Include="ArtificerDisassembleConfirmWindow.cpp">
-      <Filter>Source Files\Interface</Filter>
-    </ClCompile>
     <ClCompile Include="ArtificerEnchantWindow.cpp">
       <Filter>Source Files\Interface</Filter>
     </ClCompile>
diff --git a/Adventures in Lestoria/ArtificerDisassembleConfirmWindow.cpp b/Adventures in Lestoria/ArtificerDisassembleConfirmWindow.cpp
deleted file mode 100644
index d6890e16..00000000
--- a/Adventures in Lestoria/ArtificerDisassembleConfirmWindow.cpp	
+++ /dev/null
@@ -1,65 +0,0 @@
-#pragma region License
-/*
-License (OLC-3)
-~~~~~~~~~~~~~~~
-
-Copyright 2024 Joshua Sigona <sigonasr2@gmail.com>
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-1. Redistributions or derivations of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-
-2. Redistributions or derivative works in binary form must reproduce the above
-copyright notice. This list of conditions and the following	disclaimer must be
-reproduced in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors may
-be used to endorse or promote products derived from this software without specific
-prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS	"AS IS" AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
-SHALL THE COPYRIGHT	HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL,	SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT	(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
-Portions of this software are copyright � 2024 The FreeType
-Project (www.freetype.org). Please see LICENSE_FT.txt for more information.
-All rights reserved.
-*/
-#pragma endregion
-
-#include "Menu.h"
-#include "AdventuresInLestoria.h"
-
-INCLUDE_game
-
-void Menu::InitializeArtificerDisassembleConfirmWindow(){
-	Menu*artificerDisassembleConfirmWindow=CreateMenu(ARTIFICER_DISASSEMBLE_CONFIRM,CENTERED,vi2d{144,144});
-	
-	artificerDisassembleConfirmWindow->SetupKeyboardNavigation(
-	[](MenuType type,Data&returnData){ //On Open
-		returnData="";
-	},
-	{ //Button Key
-		{game->KEY_SCROLL,{"Navigate",[](MenuType type){}}},
-		{game->KEY_BACK,{"Stay",[](MenuType type){
-			Menu::CloseMenu();
-		}}},
-		{game->KEY_CONFIRM,{"Select",[](MenuType type){}}},
-	}
-	,{ //Button Navigation Rules
-		{"Sample Button",{
-			.up="",
-			.down="",
-			.left="",
-			.right="",}},
-	});
-}
\ No newline at end of file
diff --git a/Adventures in Lestoria/ArtificerRefineConfirmWindow.cpp b/Adventures in Lestoria/ArtificerRefineConfirmWindow.cpp
deleted file mode 100644
index 06a8fc3b..00000000
--- a/Adventures in Lestoria/ArtificerRefineConfirmWindow.cpp	
+++ /dev/null
@@ -1,65 +0,0 @@
-#pragma region License
-/*
-License (OLC-3)
-~~~~~~~~~~~~~~~
-
-Copyright 2024 Joshua Sigona <sigonasr2@gmail.com>
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-1. Redistributions or derivations of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-
-2. Redistributions or derivative works in binary form must reproduce the above
-copyright notice. This list of conditions and the following	disclaimer must be
-reproduced in the documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holder nor the names of its contributors may
-be used to endorse or promote products derived from this software without specific
-prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS	"AS IS" AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
-SHALL THE COPYRIGHT	HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL,	SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT	(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
-Portions of this software are copyright � 2024 The FreeType
-Project (www.freetype.org). Please see LICENSE_FT.txt for more information.
-All rights reserved.
-*/
-#pragma endregion
-
-#include "Menu.h"
-#include "AdventuresInLestoria.h"
-
-INCLUDE_game
-
-void Menu::InitializeArtificerRefineConfirmWindow(){
-	Menu*artificerRefineConfirmWindow=CreateMenu(ARTIFICER_REFINE_CONFIRM,CENTERED,vi2d{144,144});
-	
-	artificerRefineConfirmWindow->SetupKeyboardNavigation(
-	[](MenuType type,Data&returnData){ //On Open
-		returnData="";
-	},
-	{ //Button Key
-		{game->KEY_SCROLL,{"Navigate",[](MenuType type){}}},
-		{game->KEY_BACK,{"Stay",[](MenuType type){
-			Menu::CloseMenu();
-		}}},
-		{game->KEY_CONFIRM,{"Select",[](MenuType type){}}},
-	}
-	,{ //Button Navigation Rules
-		{"Sample Button",{
-			.up="",
-			.down="",
-			.left="",
-			.right="",}},
-	});
-}
\ No newline at end of file
diff --git a/Adventures in Lestoria/ArtificerRefineWindow.cpp b/Adventures in Lestoria/ArtificerRefineWindow.cpp
index ebcb40e5..c34e34e0 100644
--- a/Adventures in Lestoria/ArtificerRefineWindow.cpp	
+++ b/Adventures in Lestoria/ArtificerRefineWindow.cpp	
@@ -40,25 +40,53 @@ All rights reserved.
 #include "AdventuresInLestoria.h"
 #include "RowInventoryScrollableWindowComponent.h"
 #include "MenuLabel.h"
+#include "MenuItemItemButton.h"
 
 INCLUDE_game
 
 void Menu::InitializeArtificerRefineWindow(){
 	Menu*artificerRefineWindow=CreateMenu(ARTIFICER_REFINE,CENTERED,game->GetScreenSize()-vi2d{52,52});
+
+	auto disassemblyTitleLabel{artificerRefineWindow->ADD("Disassembly Title Label",MenuLabel)(geom2d::rect<float>{{},{artificerRefineWindow->size.x,24.f}},"Accessory Disassembly",2.f,ComponentAttr::SHADOW|ComponentAttr::OUTLINE|ComponentAttr::BACKGROUND)END};
+
+	auto inventoryLabel=artificerRefineWindow->ADD("Accessory List Label",MenuLabel)(geom2d::rect<float>{{0.f,28.f},{180.f,12.f}},"Choose Accessory:",1.f,ComponentAttr::SHADOW|ComponentAttr::LEFT_ALIGN)END;
+
+	auto itemIcon{artificerRefineWindow->ADD("Item Icon",MenuItemItemButton)(geom2d::rect<float>({artificerRefineWindow->size.x/2+4.f,44.f},{48,48}),Item::BLANK,DO_NOTHING,"","Item Description",IconButtonAttr::NOT_SELECTABLE)END};
+	itemIcon->SetIconScale({2.f,2.f});
+	itemIcon->SetCompactDescriptions(true);
+
+	auto accessoryDescription{artificerRefineWindow->ADD("Item Description",MenuLabel)(geom2d::rect<float>{{artificerRefineWindow->size.x/2+56.f,44.f},{artificerRefineWindow->size.x/2-56.f,72.f}},"",0.5f,ComponentAttr::BACKGROUND|ComponentAttr::OUTLINE|ComponentAttr::SHADOW|ComponentAttr::LEFT_ALIGN)END};
 	
-	auto inventoryLabel=artificerRefineWindow->ADD("Accessory List Label",MenuLabel)(geom2d::rect<float>{{},{180.f,12.f}},"Choose Accessory:",1.f,ComponentAttr::SHADOW|ComponentAttr::LEFT_ALIGN)END;
+	const auto ResetDisassemblyDisplay=[artificerRefineWindow](){
+		MenuType menuType{artificerRefineWindow->GetType()};
+	};
+	const auto EnableDisassemblyDisplay=[artificerRefineWindow](){
+		MenuType menuType{artificerRefineWindow->GetType()};
+	};
 
-	auto inventoryDisplay=artificerRefineWindow->ADD("Accessory List",RowInventoryScrollableWindowComponent)(geom2d::rect<float>{{0.f,16.f},{artificerRefineWindow->size.x/2-4.f,artificerRefineWindow->size.y-32}},"","",[](MenuFuncData data){
+	auto inventoryDisplay=artificerRefineWindow->ADD("Accessory List",RowInventoryScrollableWindowComponent)(geom2d::rect<float>{{0.f,44.f},{artificerRefineWindow->size.x/2-4.f,artificerRefineWindow->size.y-60}},"","",[](MenuFuncData data){
+			RowItemDisplay&item{*DYNAMIC_POINTER_CAST<RowItemDisplay>(data.component)};
+			DYNAMIC_POINTER_CAST<RowInventoryScrollableWindowComponent>(data.parentComponent.lock())->SelectChild(DYNAMIC_POINTER_CAST<RowItemDisplay>(data.component));
+			return true;
+		},[](MenuFuncData data){
+			RowItemDisplay&item{*DYNAMIC_POINTER_CAST<RowItemDisplay>(data.component)};
+			return true;	
+		},[](MenuFuncData data){
+			auto childComponent{DYNAMIC_POINTER_CAST<RowInventoryScrollableWindowComponent>(data.parentComponent.lock())->GetSelectedChild()};
+			if(childComponent){
+				RowItemDisplay&item{childComponent.value().get()};
+			}
 			return true;
-		},DO_NOTHING,DO_NOTHING,
+		},
 		InventoryCreator::RowPlayer_InventoryUpdate,
-		InventoryWindowOptions{.padding=1,.size={artificerRefineWindow->size.x/2-5.f,28}})END;
+		InventoryWindowOptions{.padding=1,.size={artificerRefineWindow->size.x/2-5.f-12.f,28}})END;
 
-	auto backButton=artificerRefineWindow->ADD("Back",MenuComponent)(geom2d::rect<float>{{0.f,artificerRefineWindow->size.y-12.f},{120.f,12.f}},"Back",[](MenuFuncData data){
+	auto backButton=artificerRefineWindow->ADD("Back",MenuComponent)(geom2d::rect<float>{{0.f,artificerRefineWindow->size.y-12.f},{96.f,16.f}},"Back",[](MenuFuncData data){
 		Menu::CloseMenu();
 		return true;
 	})END;
 
+
 	Menu::AddInventoryListener(inventoryDisplay,"Accessories");
 
 	artificerRefineWindow->SetupKeyboardNavigation(
diff --git a/Adventures in Lestoria/ArtificerWindow.cpp b/Adventures in Lestoria/ArtificerWindow.cpp
index eb5bbfb7..10ff1e5e 100644
--- a/Adventures in Lestoria/ArtificerWindow.cpp	
+++ b/Adventures in Lestoria/ArtificerWindow.cpp	
@@ -43,6 +43,7 @@ All rights reserved.
 #include "Unlock.h"
 #include "MenuLabel.h"
 #include "VisualNovel.h"
+#include "RowInventoryScrollableWindowComponent.h"
 
 INCLUDE_game
 
@@ -51,10 +52,12 @@ void Menu::InitializeArtificerWindow(){
 	
 	artificerWindow->ADD("Disassemble Button",MenuComponent)(geom2d::rect<float>{{0.f,4.f},{144.f,24.f}},"Disassemble",[](MenuFuncData data){
 		Menu::OpenMenu(MenuType::ARTIFICER_DISASSEMBLE);
+		Component<RowInventoryScrollableWindowComponent>(MenuType::ARTIFICER_DISASSEMBLE,"Accessory List")->ClearSelectedChild();
 		return true;
 	},vf2d{2.f,2.f},ButtonAttr::FIT_TO_LABEL)END;
 	artificerWindow->ADD("Refine Button",MenuComponent)(geom2d::rect<float>{{0.f,32.f},{144.f,24.f}},"Refine",[](MenuFuncData data){
 		Menu::OpenMenu(MenuType::ARTIFICER_REFINE);
+		Component<RowInventoryScrollableWindowComponent>(MenuType::ARTIFICER_REFINE,"Accessory List")->ClearSelectedChild();
 		return true;
 	},vf2d{2.f,2.f},ButtonAttr::FIT_TO_LABEL)END;
 	artificerWindow->ADD("Enchant Button",MenuComponent)(geom2d::rect<float>{{0.f,60.f},{144.f,24.f}},"Enchant",[](MenuFuncData data){
diff --git a/Adventures in Lestoria/Menu.cpp b/Adventures in Lestoria/Menu.cpp
index 20780057..82737353 100644
--- a/Adventures in Lestoria/Menu.cpp	
+++ b/Adventures in Lestoria/Menu.cpp	
@@ -120,9 +120,7 @@ void Menu::InitializeMenus(){
 	InitializeCreditsWindow();
 	InitializeArtificerWindow();
 	InitializeArtificerRefineWindow();
-	InitializeArtificerRefineConfirmWindow();
 	InitializeArtificerDisassembleWindow();
-	InitializeArtificerDisassembleConfirmWindow();
 	InitializeArtificerEnchantWindow();
 	InitializeArtificerEnchantConfirmWindow();
 
diff --git a/Adventures in Lestoria/MenuType.h b/Adventures in Lestoria/MenuType.h
index dc68d52d..722fe41b 100644
--- a/Adventures in Lestoria/MenuType.h	
+++ b/Adventures in Lestoria/MenuType.h	
@@ -71,9 +71,7 @@ enum MenuType{
     CREDITS, //100% Controller Compatibility 
     ARTIFICER, //100% Controller Compatibility 
     ARTIFICER_REFINE,
-    ARTIFICER_REFINE_CONFIRM,
     ARTIFICER_DISASSEMBLE,
-    ARTIFICER_DISASSEMBLE_CONFIRM,
     ARTIFICER_ENCHANT,
     ARTIFICER_ENCHANT_CONFIRM,
     ///////////////////////////////////////////////////////////
diff --git a/Adventures in Lestoria/RowInventoryScrollableWindowComponent.h b/Adventures in Lestoria/RowInventoryScrollableWindowComponent.h
index a26e21ac..dba59f84 100644
--- a/Adventures in Lestoria/RowInventoryScrollableWindowComponent.h	
+++ b/Adventures in Lestoria/RowInventoryScrollableWindowComponent.h	
@@ -69,7 +69,12 @@ public:
         }
     }
 
-    virtual inline void SelectChild(std::weak_ptr<RowItemDisplay>childComponent){
+    inline void ClearSelectedChild(){
+        if(!selectedComponent.expired())selectedComponent.lock()->itemIsSelected=false;
+        selectedComponent.reset();
+    }
+
+    inline void SelectChild(std::weak_ptr<RowItemDisplay>childComponent){
         selectedComponent=childComponent;
         for(std::weak_ptr<MenuComponent>child:components){
             RowItemDisplay&rowItem{*DYNAMIC_POINTER_CAST<RowItemDisplay>(child)};
@@ -77,7 +82,8 @@ public:
         }
         selectedComponent.lock()->itemIsSelected=true;
     }
-    virtual inline std::optional<std::reference_wrapper<RowItemDisplay>>GetSelectedChild()const{
+
+    inline std::optional<std::reference_wrapper<RowItemDisplay>>GetSelectedChild()const{
         if(!selectedComponent.expired()){
             return *selectedComponent.lock();
         }
diff --git a/Adventures in Lestoria/State_OverworldMap.cpp b/Adventures in Lestoria/State_OverworldMap.cpp
index e7cd0a26..5a030102 100644
--- a/Adventures in Lestoria/State_OverworldMap.cpp	
+++ b/Adventures in Lestoria/State_OverworldMap.cpp	
@@ -265,8 +265,6 @@ void State_OverworldMap::StartLevel(){
 	}
 }
 
-
-
 void State_OverworldMap::UpdateCurrentConnectionPoint(const ConnectionPoint&connection){
 	currentConnectionPoint=const_cast<ConnectionPoint*>(&connection);
 	Component<MenuLabel>(OVERWORLD_LEVEL_SELECT,"Stage Label")->SetLabel(currentConnectionPoint->name);
diff --git a/Adventures in Lestoria/Version.h b/Adventures in Lestoria/Version.h
index 0a836662..ab370ce3 100644
--- a/Adventures in Lestoria/Version.h	
+++ b/Adventures in Lestoria/Version.h	
@@ -39,7 +39,7 @@ All rights reserved.
 #define VERSION_MAJOR 1
 #define VERSION_MINOR 2
 #define VERSION_PATCH 5
-#define VERSION_BUILD 11414
+#define VERSION_BUILD 11417
 
 #define stringify(a) stringify_(a)
 #define stringify_(a) #a
diff --git a/Adventures in Lestoria/assets/Campaigns/World_Map.tmx b/Adventures in Lestoria/assets/Campaigns/World_Map.tmx
index 3398048a..32cabc01 100644
--- a/Adventures in Lestoria/assets/Campaigns/World_Map.tmx	
+++ b/Adventures in Lestoria/assets/Campaigns/World_Map.tmx	
@@ -820,7 +820,7 @@
     <property name="Connection 4 - West" type="object" value="8"/>
     <property name="Map" propertytype="Level" value="NONE"/>
     <property name="Type" propertytype="StageType" value="NONE"/>
-    <property name="Unlock Condition" propertytype="Level" value="WORLD_MAP"/>
+    <property name="Unlock Condition" propertytype="Level" value="STORY_2_2"/>
    </properties>
   </object>
   <object id="36" name="Beach Outskirts" type="StagePlate" x="600" y="434" width="106" height="27">
diff --git a/Adventures in Lestoria/assets/config/story/Chapter 2.txt b/Adventures in Lestoria/assets/config/story/Chapter 2.txt
index 15ed0929..fcfd6da9 100644
--- a/Adventures in Lestoria/assets/config/story/Chapter 2.txt	
+++ b/Adventures in Lestoria/assets/config/story/Chapter 2.txt	
@@ -23,4 +23,10 @@ At this station you have the ability to refine and fix up imperfect jewelry disc
 
 Disassemble rings that are undesirable to you and retrieve fragments of them, then use the Refine station to empower your equipment further!
 
-You can make use of those extra rings you have been piling up!
\ No newline at end of file
+You can make use of those extra rings you have been piling up!
+
+===STORY_2_1===
+[You]
+
+Hi 
+ 
diff --git a/x64/Release/Adventures in Lestoria.exe b/x64/Release/Adventures in Lestoria.exe
index 37fa46ec..95c9084c 100644
Binary files a/x64/Release/Adventures in Lestoria.exe and b/x64/Release/Adventures in Lestoria.exe differ