diff --git a/esoui/ingame/crafting/keyboard/smithingcreation_keyboard.lua b/esoui/ingame/crafting/keyboard/smithingcreation_keyboard.lua
index 3e141a6..bf941c2 100755
--- a/esoui/ingame/crafting/keyboard/smithingcreation_keyboard.lua
+++ b/esoui/ingame/crafting/keyboard/smithingcreation_keyboard.lua
@@ -67,6 +67,7 @@ function ZO_SmithingCreation:SetHidden(hidden)
         if self.dirty then
             self:RefreshAllLists()
         end
+        self:TriggerUSITutorial()
     end
 end
 
@@ -128,30 +129,59 @@ function ZO_SmithingCreation:InitializeFilterTypeBar()
     ZO_CraftingUtils_ConnectMenuBarToCraftingProcess(self.tabs)
 end
 
+function ZO_SmithingCreation:UpdateUniversalStyleItemCheckBox()
+    local checkBox = self.useUniversalStyleItemCheckBox
+    local universalStyleItemCount = GetCurrentSmithingStyleItemCount(ZO_ADJUSTED_UNIVERSAL_STYLE_ITEM_INDEX)
+    ZO_CheckButton_SetLabelText(checkBox, zo_strformat(SI_CRAFTING_USE_UNIVERSAL_STYLE_ITEM, universalStyleItemCount))
+end
+
 function ZO_SmithingCreation:InitializeFilters()
     self.haveMaterialsCheckBox = self.control:GetNamedChild("HaveMaterials")
     self.haveKnowledgeCheckBox = self.control:GetNamedChild("HaveKnowledge")
+    self.useUniversalStyleItemCheckBox = self.control:GetNamedChild("StyleListUniversalStyleItem")
 
     local function OnFilterChanged()
-        self:OnFilterChanged(ZO_CheckButton_IsChecked(self.haveMaterialsCheckBox), ZO_CheckButton_IsChecked(self.haveKnowledgeCheckBox))
+        self:OnFilterChanged(ZO_CheckButton_IsChecked(self.haveMaterialsCheckBox), ZO_CheckButton_IsChecked(self.haveKnowledgeCheckBox), ZO_CheckButton_IsChecked(self.useUniversalStyleItemCheckBox))
+    end
+
+    local function HandleInventoryChanged()
+        self:UpdateUniversalStyleItemCheckBox()
     end
 
     ZO_CheckButton_SetToggleFunction(self.haveMaterialsCheckBox, OnFilterChanged)
     ZO_CheckButton_SetToggleFunction(self.haveKnowledgeCheckBox, OnFilterChanged)
+    ZO_CheckButton_SetToggleFunction(self.useUniversalStyleItemCheckBox, OnFilterChanged)
 
     ZO_CheckButton_SetLabelText(self.haveMaterialsCheckBox, GetString(SI_SMITHING_HAVE_MATERIALS))
     ZO_CheckButton_SetLabelText(self.haveKnowledgeCheckBox, GetString(SI_SMITHING_HAVE_KNOWLEDGE))
 
+    self:UpdateUniversalStyleItemCheckBox()
+    ZO_CheckButtonLabel_SetDefaultColors(self.useUniversalStyleItemCheckBox.label, ZO_COLOR_UNIVERSAL_ITEM, ZO_COLOR_UNIVERSAL_ITEM_SELECTED)
+    ZO_CheckButton_Enable(self.useUniversalStyleItemCheckBox, true)
+
     ZO_CraftingUtils_ConnectCheckBoxToCraftingProcess(self.haveMaterialsCheckBox)
     ZO_CraftingUtils_ConnectCheckBoxToCraftingProcess(self.haveKnowledgeCheckBox)
+    ZO_CraftingUtils_ConnectCheckBoxToCraftingProcess(self.useUniversalStyleItemCheckBox)
+
+    -- crappy hack to make sure no one gets in a bad state because we have connected the checkbuttons to the smithing process, 
+    -- which means we are going to logically set the state of the check buttons without user input, which will interfere with
+    -- the player that tries to mouse down on a checkbutton and then start the craft, resulting in a bad state of being stuck in PRESSED
+    CALLBACK_MANAGER:RegisterCallback("CraftingAnimationsStarted", function() ZO_CheckButton_SetCheckState(self.haveMaterialsCheckBox, self.savedVars.haveMaterialChecked) 
+                                                                              ZO_CheckButton_SetCheckState(self.haveKnowledgeCheckBox, self.savedVars.haveKnowledgeChecked) 
+                                                                              ZO_CheckButton_SetCheckState(self.useUniversalStyleItemCheckBox, self.savedVars.useUniversalStyleItemChecked)
+                                                                              end)
+
+    self.useUniversalStyleItemCheckBox:RegisterForEvent(EVENT_INVENTORY_FULL_UPDATE, HandleInventoryChanged)
+    self.useUniversalStyleItemCheckBox:RegisterForEvent(EVENT_INVENTORY_SINGLE_SLOT_UPDATE, HandleInventoryChanged)
 end
 
 function ZO_SmithingCreation:SetupSavedVars(defaults)
-    local defaults = { haveMaterialChecked = false, haveKnowledgeChecked = true, }
+    local defaults = { haveMaterialChecked = false, haveKnowledgeChecked = true, useUniversalStyleItemChecked = false}
     self.savedVars = ZO_SavedVars:New("ZO_Ingame_SavedVariables", 2, "SmithingCreation", defaults)
 
     ZO_CheckButton_SetCheckState(self.haveMaterialsCheckBox, self.savedVars.haveMaterialChecked)
     ZO_CheckButton_SetCheckState(self.haveKnowledgeCheckBox, self.savedVars.haveKnowledgeChecked)
+    ZO_CheckButton_SetCheckState(self.useUniversalStyleItemCheckBox, self:GetIsUsingUniversalStyleItem())
 end
 
 function ZO_SmithingCreation:RefreshAvailableFilters()
@@ -184,3 +214,42 @@ end
 function ZO_SmithingCreation:SetLabelHidden(label, hidden)
     label:SetHidden(hidden)
 end
+
+function ZO_SmithingCreation:BuyCraftingItems()
+    ShowMarketAndSearch(GetString(SI_CROWN_STORE_SEARCH_CRAFT_ITEMS), MARKET_OPEN_OPERATION_UNIVERSAL_STYLE_ITEM)
+end
+
+function ZO_SmithingCreation_HaveMaterialsOnMouseEnter(control)
+    InitializeTooltip(InformationTooltip, control, BOTTOM, 0, -10)
+    SetTooltipText(InformationTooltip, GetString(SI_CRAFTING_HAVE_MATERIALS_TOOLTIP))
+end
+
+function ZO_SmithingCreation_HaveKnowledgeOnMouseEnter(control)
+    InitializeTooltip(InformationTooltip, control, BOTTOM, 0, -10)
+    SetTooltipText(InformationTooltip, GetString(SI_CRAFTING_HAVE_KNOWLEDGE_TOOLTIP))
+end
+
+function ZO_SmithingCreation_FilterOnMouseExit(control)
+    ClearTooltip(InformationTooltip)
+end
+
+function ZO_SmithingCreation_UniversalStyleItemOnMouseEnter(control)
+    if control.label then
+        control.label:SetColor(ZO_COLOR_UNIVERSAL_ITEM_SELECTED:UnpackRGBA())
+    end
+
+    InitializeTooltip(InformationTooltip, control, RIGHT, -10, -10)
+    local universalStyleItemCount = GetCurrentSmithingStyleItemCount(ZO_ADJUSTED_UNIVERSAL_STYLE_ITEM_INDEX)
+    InformationTooltip:AddLine(zo_strformat(SI_CRAFTING_USE_UNIVERSAL_STYLE_ITEM, universalStyleItemCount), "", ZO_COLOR_UNIVERSAL_ITEM:UnpackRGBA())
+    local r,g,b = ZO_NORMAL_TEXT:UnpackRGB()
+    InformationTooltip:AddLine(GetString(SI_CRAFTING_UNIVERSAL_STYLE_ITEM_TOOLTIP), "", r, g, b)
+    InformationTooltip:AddLine(GetString(SI_CRAFTING_UNIVERSAL_STYLE_ITEM_CROWN_STORE_TOOLTIP), "", r, g, b)
+end
+
+function ZO_SmithingCreation_UniversalStyleItemOnMouseExit(control)
+    if control.label then
+        control.label:SetColor(ZO_COLOR_UNIVERSAL_ITEM:UnpackRGBA())
+    end
+
+    ClearTooltip(InformationTooltip)
+end
\ No newline at end of file