Quantcast

5.4.17

Steven Jackson [01-10-15 - 21:32]
5.4.17
Filename
Fonts/MORPHEUS.ttf
Fonts/OTHER_MORPHEUS.ttf
Fonts/SKURRI.ttf
Interface/AddOns/SVUI/data/class_filters/deathknight.lua
Interface/AddOns/SVUI/data/class_filters/druid.lua
Interface/AddOns/SVUI/data/class_filters/mage.lua
Interface/AddOns/SVUI/data/class_filters/monk.lua
Interface/AddOns/SVUI/data/class_filters/paladin.lua
Interface/AddOns/SVUI/data/class_filters/pets.lua
Interface/AddOns/SVUI/data/class_filters/priest.lua
Interface/AddOns/SVUI/data/class_filters/rogue.lua
Interface/AddOns/SVUI/data/class_filters/shaman.lua
Interface/AddOns/SVUI/data/class_filters/warrior.lua
Interface/AddOns/SVUI/data/defaults.lua
Interface/AddOns/SVUI/data/filterdefaults.lua
Interface/AddOns/SVUI/framework/api/api.xml
Interface/AddOns/SVUI/framework/api/api_fonts.xml
Interface/AddOns/SVUI/framework/api/api_general.lua
Interface/AddOns/SVUI/framework/api/api_style.lua
Interface/AddOns/SVUI/framework/api/api_templates.xml
Interface/AddOns/SVUI/framework/docks/dock_stats.lua
Interface/AddOns/SVUI/framework/movers/mover_mentalo.lua
Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/SpecialFX.lua
Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraBars/oUF_AuraBars.lua
Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraWatch/oUF_AuraWatch.lua
Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_HyperCombo/oUF_HyperCombo.lua
Interface/AddOns/SVUI/packages/aura/SVAura.lua
Interface/AddOns/SVUI/packages/bag/SVBag.lua
Interface/AddOns/SVUI/packages/bar/SVBar.lua
Interface/AddOns/SVUI/packages/bar/components/keybind.lua
Interface/AddOns/SVUI/packages/chat/SVChat.lua
Interface/AddOns/SVUI/packages/gear/SVGear.lua
Interface/AddOns/SVUI/packages/henchmen/SVHenchmen.lua
Interface/AddOns/SVUI/packages/map/SVMap.lua
Interface/AddOns/SVUI/packages/override/components/loot.lua
Interface/AddOns/SVUI/packages/override/components/mirror.lua
Interface/AddOns/SVUI/packages/plate/SVPlate.lua
Interface/AddOns/SVUI/packages/quest/SVQuest.lua
Interface/AddOns/SVUI/packages/quest/components/achievements.lua
Interface/AddOns/SVUI/packages/quest/components/active.lua
Interface/AddOns/SVUI/packages/quest/components/bonus.lua
Interface/AddOns/SVUI/packages/quest/components/popups.lua
Interface/AddOns/SVUI/packages/quest/components/quests.lua
Interface/AddOns/SVUI/packages/quest/components/scenario.lua
Interface/AddOns/SVUI/packages/tip/SVTip.lua
Interface/AddOns/SVUI/packages/tool/stats/durability.lua
Interface/AddOns/SVUI/packages/tool/stats/experience.lua
Interface/AddOns/SVUI/packages/unit/SVUnit.lua
Interface/AddOns/SVUI/packages/unit/elements/auras.lua
Interface/AddOns/SVUI/packages/unit/elements/castbar.lua
Interface/AddOns/SVUI/packages/unit/elements/essentials.lua
Interface/AddOns/SVUI/packages/unit/elements/misc.lua
Interface/AddOns/SVUI/packages/unit/frames.lua
Interface/AddOns/SVUI/packages/unit/groups.lua
Interface/AddOns/SVUI/packages/unit/resources/druid.lua
Interface/AddOns/SVUI/packages/unit/resources/mage.lua
Interface/AddOns/SVUI/packages/unit/resources/priest.lua
Interface/AddOns/SVUI/packages/unit/resources/rogue.lua
Interface/AddOns/SVUI/system/core.lua
Interface/AddOns/SVUI/system/media.lua
Interface/AddOns/SVUI_ConfigOMatic/components/filters/_deprecated.lua
Interface/AddOns/SVUI_ConfigOMatic/components/filters/aura.lua
Interface/AddOns/SVUI_ConfigOMatic/components/filters/aurabar.lua
Interface/AddOns/SVUI_ConfigOMatic/components/filters/buffwatch.lua
Interface/AddOns/SVUI_ConfigOMatic/components/filters/core.lua
Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua
Interface/AddOns/SVUI_ConfigOMatic/components/profiles.lua
Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua
Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua
Interface/AddOns/SVUI_StyleOMatic/components/addons/Ace3.lua
Interface/AddOns/SVUI_StyleOMatic/components/addons/DBM.lua
Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua
Interface/AddOns/SVUI_StyleOMatic/components/atlas/garrison.lua
Interface/AddOns/SVUI_StyleOMatic/components/blizzard/friends.lua
Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua
Interface/AddOns/SVUI_StyleOMatic/components/style_methods.lua
diff --git a/Fonts/MORPHEUS.ttf b/Fonts/MORPHEUS.ttf
index 63b1c3b..3ef95aa 100644
Binary files a/Fonts/MORPHEUS.ttf and b/Fonts/MORPHEUS.ttf differ
diff --git a/Fonts/OTHER_MORPHEUS.ttf b/Fonts/OTHER_MORPHEUS.ttf
new file mode 100644
index 0000000..63b1c3b
Binary files /dev/null and b/Fonts/OTHER_MORPHEUS.ttf differ
diff --git a/Fonts/SKURRI.ttf b/Fonts/SKURRI.ttf
index d86f2a2..42f02d6 100644
Binary files a/Fonts/SKURRI.ttf and b/Fonts/SKURRI.ttf differ
diff --git a/Interface/AddOns/SVUI/data/class_filters/deathknight.lua b/Interface/AddOns/SVUI/data/class_filters/deathknight.lua
index 6ab8b97..30f8e68 100644
--- a/Interface/AddOns/SVUI/data/class_filters/deathknight.lua
+++ b/Interface/AddOns/SVUI/data/class_filters/deathknight.lua
@@ -23,8 +23,8 @@ local SV = select(2, ...)
 --[[ PRIEST FILTERS ]]--

 SV.filterdefaults["BuffWatch"] = {
-    {-- Unholy Frenzy
-        ["enabled"] = true,
+    ["49016"] = {-- Unholy Frenzy
+        ["enable"] = true,
         ["id"] = 49016,
         ["point"] = "TOPRIGHT",
         ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05},
diff --git a/Interface/AddOns/SVUI/data/class_filters/druid.lua b/Interface/AddOns/SVUI/data/class_filters/druid.lua
index 2e73207..ecb4b96 100644
--- a/Interface/AddOns/SVUI/data/class_filters/druid.lua
+++ b/Interface/AddOns/SVUI/data/class_filters/druid.lua
@@ -23,8 +23,8 @@ local SV = select(2, ...)
 --[[ DRUID FILTERS ]]--

 SV.filterdefaults["BuffWatch"] = {
-    {-- Rejuvenation
-        ["enabled"] = true,
+    ["774"] = {-- Rejuvenation
+        ["enable"] = true,
         ["id"] = 774,
         ["point"] = "TOPRIGHT",
         ["color"] = {["r"] = 0.8, ["g"] = 0.4, ["b"] = 0.8},
@@ -37,8 +37,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Regrowth
-        ["enabled"] = true,
+    ["8936"] = {-- Regrowth
+        ["enable"] = true,
         ["id"] = 8936,
         ["point"] = "BOTTOMLEFT",
         ["color"] = {["r"] = 0.2, ["g"] = 0.8, ["b"] = 0.2},
@@ -51,8 +51,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Lifebloom
-        ["enabled"] = true,
+    ["33763"] = {-- Lifebloom
+        ["enable"] = true,
         ["id"] = 33763,
         ["point"] = "TOPLEFT",
         ["color"] = {["r"] = 0.4, ["g"] = 0.8, ["b"] = 0.2},
@@ -65,8 +65,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Wild Growth
-        ["enabled"] = true,
+    ["48438"] = {-- Wild Growth
+        ["enable"] = true,
         ["id"] = 48438,
         ["point"] = "BOTTOMRIGHT",
         ["color"] = {["r"] = 0.8, ["g"] = 0.4, ["b"] = 0},
diff --git a/Interface/AddOns/SVUI/data/class_filters/mage.lua b/Interface/AddOns/SVUI/data/class_filters/mage.lua
index 4ee4817..5164ac7 100644
--- a/Interface/AddOns/SVUI/data/class_filters/mage.lua
+++ b/Interface/AddOns/SVUI/data/class_filters/mage.lua
@@ -23,8 +23,8 @@ local SV = select(2, ...)
 --[[ MAGE FILTERS ]]--

 SV.filterdefaults["BuffWatch"] = {
-    {-- Ice Ward
-        ["enabled"] = true,
+    ["111264"] = {-- Ice Ward
+        ["enable"] = true,
         ["id"] = 111264,
         ["point"] = "TOPLEFT",
         ["color"] = {["r"] = 0.2, ["g"] = 0.2, ["b"] = 1},
diff --git a/Interface/AddOns/SVUI/data/class_filters/monk.lua b/Interface/AddOns/SVUI/data/class_filters/monk.lua
index 91e4917..4863087 100644
--- a/Interface/AddOns/SVUI/data/class_filters/monk.lua
+++ b/Interface/AddOns/SVUI/data/class_filters/monk.lua
@@ -23,8 +23,8 @@ local SV = select(2, ...)
 --[[ MONK FILTERS ]]--

 SV.filterdefaults["BuffWatch"] = {
-    {--Renewing Mist
-        ["enabled"] = true,
+    ["119611"] = {--Renewing Mist
+        ["enable"] = true,
         ["id"] = 119611,
         ["point"] = "TOPLEFT",
         ["color"] = {["r"] = 0.8, ["g"] = 0.4, ["b"] = 0.8},
@@ -37,8 +37,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Life Cocoon
-        ["enabled"] = true,
+    ["116849"] = {-- Life Cocoon
+        ["enable"] = true,
         ["id"] = 116849,
         ["point"] = "TOPRIGHT",
         ["color"] = {["r"] = 0.2, ["g"] = 0.8, ["b"] = 0.2},
@@ -51,8 +51,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Enveloping Mist
-        ["enabled"] = true,
+    ["132120"] = {-- Enveloping Mist
+        ["enable"] = true,
         ["id"] = 132120,
         ["point"] = "BOTTOMLEFT",
         ["color"] = {["r"] = 0.4, ["g"] = 0.8, ["b"] = 0.2},
@@ -65,8 +65,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Zen Sphere
-        ["enabled"] = true,
+    ["124081"] = {-- Zen Sphere
+        ["enable"] = true,
         ["id"] = 124081,
         ["point"] = "BOTTOMRIGHT",
         ["color"] = {["r"] = 0.7, ["g"] = 0.4, ["b"] = 0},
diff --git a/Interface/AddOns/SVUI/data/class_filters/paladin.lua b/Interface/AddOns/SVUI/data/class_filters/paladin.lua
index 3e994fc..77ba64b 100644
--- a/Interface/AddOns/SVUI/data/class_filters/paladin.lua
+++ b/Interface/AddOns/SVUI/data/class_filters/paladin.lua
@@ -23,8 +23,8 @@ local SV = select(2, ...)
 --[[ PALADIN FILTERS ]]--

 SV.filterdefaults["BuffWatch"] = {
-    {-- Beacon of Light
-        ["enabled"] = true,
+    ["53563"] = {-- Beacon of Light
+        ["enable"] = true,
         ["id"] = 53563,
         ["point"] = "TOPRIGHT",
         ["color"] = {["r"] = 0.7, ["g"] = 0.3, ["b"] = 0.7},
@@ -37,8 +37,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Hand of Protection
-        ["enabled"] = true,
+    ["1022"] = {-- Hand of Protection
+        ["enable"] = true,
         ["id"] = 1022,
         ["point"] = "BOTTOMRIGHT",
         ["color"] = {["r"] = 0.2, ["g"] = 0.2, ["b"] = 1},
@@ -51,8 +51,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Hand of Freedom
-        ["enabled"] = true,
+    ["1044"] = {-- Hand of Freedom
+        ["enable"] = true,
         ["id"] = 1044,
         ["point"] = "BOTTOMRIGHT",
         ["color"] = {["r"] = 0.89, ["g"] = 0.45, ["b"] = 0},
@@ -65,8 +65,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Hand of Salvation
-        ["enabled"] = true,
+    ["1038"] = {-- Hand of Salvation
+        ["enable"] = true,
         ["id"] = 1038,
         ["point"] = "BOTTOMRIGHT",
         ["color"] = {["r"] = 0.93, ["g"] = 0.75, ["b"] = 0},
@@ -79,8 +79,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Hand of Sacrifice
-        ["enabled"] = true,
+    ["6940"] = {-- Hand of Sacrifice
+        ["enable"] = true,
         ["id"] = 6940,
         ["point"] = "BOTTOMRIGHT",
         ["color"] = {["r"] = 0.89, ["g"] = 0.1, ["b"] = 0.1},
@@ -93,8 +93,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Hand of Purity
-        ["enabled"] = true,
+    ["114039"] = {-- Hand of Purity
+        ["enable"] = true,
         ["id"] = 114039,
         ["point"] = "BOTTOMRIGHT",
         ["color"] = {["r"] = 0.64, ["g"] = 0.41, ["b"] = 0.72},
@@ -107,8 +107,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Sacred Shield
-        ["enabled"] = true,
+    ["20925"] = {-- Sacred Shield
+        ["enable"] = true,
         ["id"] = 20925,
         ["point"] = "TOPLEFT",
         ["color"] = {["r"] = 0.93, ["g"] = 0.75, ["b"] = 0},
@@ -121,8 +121,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Eternal Flame
-        ["enabled"] = true,
+    ["114163"] = {-- Eternal Flame
+        ["enable"] = true,
         ["id"] = 114163,
         ["point"] = "BOTTOMLEFT",
         ["color"] = {["r"] = 0.87, ["g"] = 0.7, ["b"] = 0.03},
diff --git a/Interface/AddOns/SVUI/data/class_filters/pets.lua b/Interface/AddOns/SVUI/data/class_filters/pets.lua
index 1979d5a..bce1270 100644
--- a/Interface/AddOns/SVUI/data/class_filters/pets.lua
+++ b/Interface/AddOns/SVUI/data/class_filters/pets.lua
@@ -21,8 +21,8 @@ local SV = select(2, ...)
 --[[ PET FILTERS ]]--

 SV.filterdefaults["PetBuffWatch"] = {
-    {-- Frenzy
-        ["enabled"] = true,
+    ["19615"] = {-- Frenzy
+        ["enable"] = true,
         ["id"] = 19615,
         ["point"] = "TOPLEFT",
         ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05},
@@ -35,8 +35,8 @@ SV.filterdefaults["PetBuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Mend Pet
-        ["enabled"] = true,
+    ["136"] = {-- Mend Pet
+        ["enable"] = true,
         ["id"] = 136,
         ["point"] = "TOPRIGHT",
         ["color"] = {["r"] = 0.2, ["g"] = 0.8, ["b"] = 0.2},
diff --git a/Interface/AddOns/SVUI/data/class_filters/priest.lua b/Interface/AddOns/SVUI/data/class_filters/priest.lua
index 6cd4788..d3dc024 100644
--- a/Interface/AddOns/SVUI/data/class_filters/priest.lua
+++ b/Interface/AddOns/SVUI/data/class_filters/priest.lua
@@ -23,8 +23,8 @@ local SV = select(2, ...)
 --[[ PRIEST FILTERS ]]--

 SV.filterdefaults["BuffWatch"] = {
-    {-- Weakened Soul
-        ["enabled"] = true,
+    ["6788"] = {-- Weakened Soul
+        ["enable"] = true,
         ["id"] = 6788,
         ["point"] = "TOPRIGHT",
         ["color"] = {["r"] = 1, ["g"] = 0, ["b"] = 0},
@@ -37,8 +37,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Prayer of Mending
-        ["enabled"] = true,
+    ["41635"] = {-- Prayer of Mending
+        ["enable"] = true,
         ["id"] = 41635,
         ["point"] = "BOTTOMRIGHT",
         ["color"] = {["r"] = 0.2, ["g"] = 0.7, ["b"] = 0.2},
@@ -51,8 +51,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Renew
-        ["enabled"] = true,
+    ["139"] = {-- Renew
+        ["enable"] = true,
         ["id"] = 139,
         ["point"] = "BOTTOMLEFT",
         ["color"] = {["r"] = 0.4, ["g"] = 0.7, ["b"] = 0.2},
@@ -65,8 +65,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Power Word: Shield
-        ["enabled"] = true,
+    ["17"] = {-- Power Word: Shield
+        ["enable"] = true,
         ["id"] = 17,
         ["point"] = "TOPLEFT",
         ["color"] = {["r"] = 0.81, ["g"] = 0.85, ["b"] = 0.1},
@@ -79,8 +79,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Power Word: Shield Power Insight
-        ["enabled"] = true,
+    ["123258"] = {-- Power Word: Shield Power Insight
+        ["enable"] = true,
         ["id"] = 123258,
         ["point"] = "TOPLEFT",
         ["color"] = {["r"] = 0.81, ["g"] = 0.85, ["b"] = 0.1},
@@ -93,8 +93,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Power Infusion
-        ["enabled"] = true,
+    ["10060"] = {-- Power Infusion
+        ["enable"] = true,
         ["id"] = 10060,
         ["point"] = "RIGHT",
         ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05},
@@ -107,8 +107,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Guardian Spirit
-        ["enabled"] = true,
+    ["47788"] = {-- Guardian Spirit
+        ["enable"] = true,
         ["id"] = 47788,
         ["point"] = "LEFT",
         ["color"] = {["r"] = 0.86, ["g"] = 0.44, ["b"] = 0},
@@ -121,8 +121,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Pain Suppression
-        ["enabled"] = true,
+    ["33206"] = {-- Pain Suppression
+        ["enable"] = true,
         ["id"] = 33206,
         ["point"] = "LEFT",
         ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05},
diff --git a/Interface/AddOns/SVUI/data/class_filters/rogue.lua b/Interface/AddOns/SVUI/data/class_filters/rogue.lua
index 767c825..291ae45 100644
--- a/Interface/AddOns/SVUI/data/class_filters/rogue.lua
+++ b/Interface/AddOns/SVUI/data/class_filters/rogue.lua
@@ -23,8 +23,8 @@ local SV = select(2, ...)
 --[[ ROGUE FILTERS ]]--

 SV.filterdefaults["BuffWatch"] = {
-    {-- Tricks of the Trade
-        ["enabled"] = true,
+    ["57934"] = {-- Tricks of the Trade
+        ["enable"] = true,
         ["id"] = 57934,
         ["point"] = "TOPRIGHT",
         ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05},
diff --git a/Interface/AddOns/SVUI/data/class_filters/shaman.lua b/Interface/AddOns/SVUI/data/class_filters/shaman.lua
index e892757..77e2c7c 100644
--- a/Interface/AddOns/SVUI/data/class_filters/shaman.lua
+++ b/Interface/AddOns/SVUI/data/class_filters/shaman.lua
@@ -23,8 +23,8 @@ local SV = select(2, ...)
 --[[ SHAMAN FILTERS ]]--

 SV.filterdefaults["BuffWatch"] = {
-    {-- Riptide
-        ["enabled"] = true,
+    ["61295"] = {-- Riptide
+        ["enable"] = true,
         ["id"] = 61295,
         ["point"] = "TOPRIGHT",
         ["color"] = {["r"] = 0.7, ["g"] = 0.3, ["b"] = 0.7},
@@ -37,8 +37,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Earth Shield
-        ["enabled"] = true,
+    ["974"] = {-- Earth Shield
+        ["enable"] = true,
         ["id"] = 974,
         ["point"] = "BOTTOMLEFT",
         ["color"] = {["r"] = 0.2, ["g"] = 0.7, ["b"] = 0.2},
@@ -51,8 +51,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Earthliving
-        ["enabled"] = true,
+    ["51945"] = {-- Earthliving
+        ["enable"] = true,
         ["id"] = 51945,
         ["point"] = "BOTTOMRIGHT",
         ["color"] = {["r"] = 0.7, ["g"] = 0.4, ["b"] = 0.4},
diff --git a/Interface/AddOns/SVUI/data/class_filters/warrior.lua b/Interface/AddOns/SVUI/data/class_filters/warrior.lua
index 11caad4..c5f3839 100644
--- a/Interface/AddOns/SVUI/data/class_filters/warrior.lua
+++ b/Interface/AddOns/SVUI/data/class_filters/warrior.lua
@@ -23,8 +23,8 @@ local SV = select(2, ...)
 --[[ WARRIOR FILTERS ]]--

 SV.filterdefaults["BuffWatch"] = {
-    {-- Vigilance
-        ["enabled"] = true,
+    ["114030"] = {-- Vigilance
+        ["enable"] = true,
         ["id"] = 114030,
         ["point"] = "TOPLEFT",
         ["color"] = {["r"] = 0.2, ["g"] = 0.2, ["b"] = 1},
@@ -37,8 +37,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Intervene
-        ["enabled"] = true,
+    ["3411"] = {-- Intervene
+        ["enable"] = true,
         ["id"] = 3411,
         ["point"] = "TOPRIGHT",
         ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05},
@@ -51,8 +51,8 @@ SV.filterdefaults["BuffWatch"] = {
         ['xOffset'] = 0,
         ['yOffset'] = 0
     },
-    {-- Safe Guard
-        ["enabled"] = true,
+    ["114029"] = {-- Safe Guard
+        ["enable"] = true,
         ["id"] = 114029,
         ["point"] = "TOPRIGHT",
         ["color"] = {["r"] = 0.89, ["g"] = 0.09, ["b"] = 0.05},
diff --git a/Interface/AddOns/SVUI/data/defaults.lua b/Interface/AddOns/SVUI/data/defaults.lua
index 87ebb97..64b5b30 100644
--- a/Interface/AddOns/SVUI/data/defaults.lua
+++ b/Interface/AddOns/SVUI/data/defaults.lua
@@ -1548,6 +1548,11 @@ SV.defaults["SVUnit"] = {
 			["xOffset"] = -4,
 			["yOffset"] = 0,
 			["sizeOverride"] = 0,
+		},
+		["auraWatch"] =
+		{
+			["enable"] = true,
+			["size"] = 8,
 		},
 		["aurabar"] =
 		{
diff --git a/Interface/AddOns/SVUI/data/filterdefaults.lua b/Interface/AddOns/SVUI/data/filterdefaults.lua
index 849c884..f5d53e5 100644
--- a/Interface/AddOns/SVUI/data/filterdefaults.lua
+++ b/Interface/AddOns/SVUI/data/filterdefaults.lua
@@ -72,4 +72,20 @@ for k, x in pairs(FilterIDs) do
         end
     end
     SV.filterdefaults[k] = src
+end
+
+function SV:SanitizeFilters()
+    local filter = SV.filters.BuffWatch
+    for id, watchData in pairs(filter) do
+        if((not watchData.id) or (tonumber(id) ~= watchData.id)) then
+            SV.filters.BuffWatch[id] = nil
+        end
+    end
+
+    filter = SV.filters.PetBuffWatch
+    for id, watchData in pairs(filter) do
+        if((not watchData.id) or (tonumber(id) ~= watchData.id)) then
+            SV.filters.PetBuffWatch[id] = nil
+        end
+    end
 end
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI/framework/api/api.xml b/Interface/AddOns/SVUI/framework/api/api.xml
index 5c0f8e5..c12f99c 100644
--- a/Interface/AddOns/SVUI/framework/api/api.xml
+++ b/Interface/AddOns/SVUI/framework/api/api.xml
@@ -1,1311 +1,6 @@
 <Ui xmlns="http://www.blizzard.com/wow/ui/">
-
-    <Frame name="SVUI_ShadowTemplate" virtual="true">
-        <Attributes>
-            <Attribute name="shadowAlpha" type="number" value="0.5" />
-        </Attributes>
-        <Backdrop edgeFile="Interface\AddOns\SVUI\assets\artwork\Template\GLOW">
-            <EdgeSize val="3" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0" g="0" b="0" a="0" />
-            <BorderColor r="0" g="0" b="0" a="0.5" />
-        </Backdrop>
-    </Frame>
-
-	<Frame name="SVUI_PanelTemplate_Default" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="default" />
-            <Attribute name="panelPadding" type="number" value="1" />
-            <Attribute name="panelColor" type="string" value="default" />
-            <Attribute name="panelGradient" type="string" value="default" />
-            <Attribute name="panelTexUpdate" type="boolean" value="false" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="1" />
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0.2" g="0.2" b="0.2" a="1" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" />
-                <Color r="0.2" g="0.2" b="0.2" a="1" />
-            </Layer>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Transparent" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="transparent" />
-            <Attribute name="panelPadding" type="number" value="2" />
-            <Attribute name="panelColor" type="string" value="transparent" />
-            <Attribute name="panelGradient" type="boolean" value="false" />
-            <Attribute name="panelTexUpdate" type="boolean" value="false" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="true" />
-        </Attributes>
-        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="2" />
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0" g="0" b="0" a="0.5" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Component" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="component" />
-            <Attribute name="panelPadding" type="number" value="1" />
-            <Attribute name="panelColor" type="string" value="default" />
-            <Attribute name="panelGradient" type="string" value="default" />
-            <Attribute name="panelTexUpdate" type="boolean" value="false" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="2" />
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0.2" g="0.2" b="0.2" a="1" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" />
-                <Color r="0.2" g="0.2" b="0.2" a="1" />
-            </Layer>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-        <Frames>
-            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
-        </Frames>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Headline" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="headline" />
-            <Attribute name="panelPadding" type="number" value="1" />
-            <Attribute name="panelColor" type="string" value="hinted" />
-            <Attribute name="panelGradient" type="boolean" value="false" />
-            <Attribute name="panelTexUpdate" type="boolean" value="false" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" tile="true" edgeFile="Interface\BUTTONS\WHITE8X8">
-            <EdgeSize val="1" />
-            <TileSize val="20" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-            <Color r="0" g="0" b="0" a="0.25" />
-        </Backdrop>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Button" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="button" />
-            <Attribute name="panelPadding" type="number" value="1" />
-            <Attribute name="panelColor" type="string" value="default" />
-            <Attribute name="panelGradient" type="boolean" value="false" />
-            <Attribute name="panelTexUpdate" type="boolean" value="false" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\BUTTON" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="2" />
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0.2" g="0.2" b="0.2" a="1" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-        <Frames>
-            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
-        </Frames>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_FramedTop" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="framedtop" />
-            <Attribute name="panelPadding" type="number" value="1" />
-            <Attribute name="panelColor" type="string" value="default" />
-            <Attribute name="panelGradient" type="string" value="darkest2" />
-            <Attribute name="panelTexUpdate" type="boolean" value="true" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="1" />
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0.2" g="0.2" b="0.2" a="1" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT2" setAllPoints="true" />
-                <Color r="0.2" g="0.2" b="0.2" a="1" />
-            </Layer>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_FramedBottom" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="framedbottom" />
-            <Attribute name="panelPadding" type="number" value="1" />
-            <Attribute name="panelColor" type="string" value="default" />
-            <Attribute name="panelGradient" type="string" value="darkest" />
-            <Attribute name="panelTexUpdate" type="boolean" value="true" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="1" />
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0.2" g="0.2" b="0.2" a="1" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" />
-                <Color r="0.2" g="0.2" b="0.2" a="1" />
-            </Layer>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Bar" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="bar" />
-            <Attribute name="panelPadding" type="number" value="1" />
-            <Attribute name="panelColor" type="string" value="transparent" />
-            <Attribute name="panelGradient" type="boolean" value="false" />
-            <Attribute name="panelTexUpdate" type="boolean" value="false" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="true" />
-        </Attributes>
-        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="1" />
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0" g="0" b="0" a="0.5" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Slot" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="slot" />
-            <Attribute name="panelPadding" type="number" value="2" />
-            <Attribute name="panelColor" type="string" value="transparent" />
-            <Attribute name="panelGradient" type="boolean" value="false" />
-            <Attribute name="panelTexUpdate" type="boolean" value="false" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="true" />
-        </Attributes>
-        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="1" />
-            <TileSize val="0" />
-            <BackgroundInsets left="1" right="1" top="1" bottom="1" />
-            <Color r="0" g="0" b="0" a="0.5" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-        <Frames>
-            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
-        </Frames>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Icon" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="slot" />
-            <Attribute name="panelPadding" type="number" value="2" />
-            <Attribute name="panelColor" type="string" value="invisible" />
-            <Attribute name="panelGradient" type="boolean" value="false" />
-            <Attribute name="panelTexUpdate" type="boolean" value="false" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="true" />
-        </Attributes>
-        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="1" />
-            <TileSize val="0" />
-            <BackgroundInsets left="1" right="1" top="1" bottom="1" />
-            <Color r="0" g="0" b="0" a="0" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-        <Frames>
-            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
-        </Frames>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Inset" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="inset" />
-            <Attribute name="panelPadding" type="number" value="1" />
-            <Attribute name="panelColor" type="string" value="transparent" />
-            <Attribute name="panelGradient" type="boolean" value="false" />
-            <Attribute name="panelTexUpdate" type="boolean" value="false" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="true" />
-        </Attributes>
-        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\AddOns\SVUI\assets\artwork\Template\INSET" tile="false">
-            <EdgeSize val="6" />
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0" g="0" b="0" a="0.5" />
-            <BorderColor r="0" g="0" b="0" a="0.5" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="1" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Comic" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="comic" />
-            <Attribute name="panelPadding" type="number" value="1" />
-            <Attribute name="panelColor" type="string" value="class" />
-            <Attribute name="panelGradient" type="string" value="class" />
-            <Attribute name="panelTexUpdate" type="boolean" value="true" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC1" tile="false">
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0.2" g="0.2" b="0.2" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC1" setAllPoints="true" />
-                <Color r="0.2" g="0.2" b="0.2" a="1" />
-            </Layer>
-        </Layers>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Model" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="model" />
-            <Attribute name="panelPadding" type="number" value="1" />
-            <Attribute name="panelColor" type="string" value="special" />
-            <Attribute name="panelGradient" type="string" value="class" />
-            <Attribute name="panelTexUpdate" type="boolean" value="true" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" tile="false">
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0.37" g="0.32" b="0.29" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" setAllPoints="true" />
-                <Color r="0.37" g="0.32" b="0.29" a="1" />
-            </Layer>
-        </Layers>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_ModelBorder" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="modelborder" />
-            <Attribute name="panelPadding" type="number" value="2" />
-            <Attribute name="panelColor" type="string" value="special" />
-            <Attribute name="panelGradient" type="string" value="class" />
-            <Attribute name="panelTexUpdate" type="boolean" value="true" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="2" />
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0" g="0" b="0" a="0.5" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" setAllPoints="true" />
-                <Color r="0.37" g="0.32" b="0.29" a="1" />
-            </Layer>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-        <Frames>
-            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
-        </Frames>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Paper" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="paper" />
-            <Attribute name="panelPadding" type="number" value="3" />
-            <Attribute name="panelColor" type="string" value="white" />
-            <Attribute name="panelGradient" type="string" value="white" />
-            <Attribute name="panelTexUpdate" type="boolean" value="true" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="true" />
-        </Attributes>
-        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="1" />
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="1" g="1" b="1" a="1" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" setAllPoints="true" />
-                <Color r="1" g="1" b="1" a="1" />
-            </Layer>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="3" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="3" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="3" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="3" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Container" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="container" />
-            <Attribute name="panelPadding" type="number" value="2" />
-            <Attribute name="panelColor" type="string" value="container" />
-            <Attribute name="panelGradient" type="string" value="container" />
-            <Attribute name="panelTexUpdate" type="boolean" value="true" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="1" />
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0.22" g="0.21" b="0.2" a="1" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" setAllPoints="true" />
-                <Color r="0.22" g="0.21" b="0.2" a="1" />
-            </Layer>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Pattern" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="pattern" />
-            <Attribute name="panelPadding" type="number" value="3" />
-            <Attribute name="panelColor" type="string" value="special" />
-            <Attribute name="panelGradient" type="string" value="special" />
-            <Attribute name="panelTexUpdate" type="boolean" value="true" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PATTERN1" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="1" />
-            <TileSize val="0" />
-            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
-            <Color r="0.37" g="0.32" b="0.29" a="1" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PATTERN1" setAllPoints="true" />
-                <Color r="0.37" g="0.32" b="0.29" a="1" />
-            </Layer>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="3" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="3" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="3" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="3" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-        <Frames>
-            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
-        </Frames>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Action" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="action" />
-            <Attribute name="panelPadding" type="number" value="2" />
-            <Attribute name="panelColor" type="string" value="default" />
-            <Attribute name="panelGradient" type="string" value="special" />
-            <Attribute name="panelTexUpdate" type="boolean" value="true" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="2" />
-            <TileSize val="0" />
-            <BackgroundInsets left="1" right="1" top="1" bottom="1" />
-            <Color r="0.2" g="0.2" b="0.2" a="1" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" />
-                <Color r="0.2" g="0.2" b="0.2" a="1" />
-            </Layer>
-            <Layer level="BACKGROUND" textureSubLevel="2">
-                <Texture parentKey="ExtendedTopLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_TOPLEFT">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOP" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="LEFT" />
-                    </Anchors>
-                    <Color r="0.05" g="0.05" b="0.05" a="0.5" />
-                </Texture>
-                <Texture parentKey="ExtendedTopRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_TOPRIGHT">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="TOPLEFT" relativePoint="TOP" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="RIGHT" />
-                    </Anchors>
-                    <Color r="0.05" g="0.05" b="0.05" a="0.5" />
-                </Texture>
-                <Texture parentKey="ExtendedBottomLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_BOTTOMLEFT">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOM" />
-                        <Anchor point="TOPLEFT" relativePoint="LEFT" />
-                    </Anchors>
-                    <Color r="0.1" g="0.1" b="0.1" a="0.5" />
-                </Texture>
-                <Texture parentKey="ExtendedBottomRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_BOTTOMRIGHT">
-                    <Anchors>
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOM" />
-                        <Anchor point="TOPRIGHT" relativePoint="RIGHT" />
-                    </Anchors>
-                    <Color r="0.1" g="0.1" b="0.1" a="0.5" />
-                </Texture>
-            </Layer>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-        <Frames>
-            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
-        </Frames>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Halftone" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="halftone" />
-            <Attribute name="panelPadding" type="number" value="2" />
-            <Attribute name="panelColor" type="string" value="default" />
-            <Attribute name="panelGradient" type="string" value="special" />
-            <Attribute name="panelTexUpdate" type="boolean" value="true" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="2" />
-            <TileSize val="0" />
-            <BackgroundInsets left="1" right="1" top="1" bottom="1" />
-            <Color r="0.2" g="0.2" b="0.2" a="1" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" />
-                <Color r="0.2" g="0.2" b="0.2" a="1" />
-            </Layer>
-            <Layer level="BACKGROUND" textureSubLevel="2">
-                <Texture parentKey="ExtendedTopLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_TOPLEFT">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOP" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="LEFT" />
-                    </Anchors>
-                    <Color r="0.05" g="0.05" b="0.05" a="0.5" />
-                </Texture>
-                <Texture parentKey="ExtendedTopRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_TOPRIGHT">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="TOPLEFT" relativePoint="TOP" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="RIGHT" />
-                    </Anchors>
-                    <Color r="0.05" g="0.05" b="0.05" a="0.5" />
-                </Texture>
-                <Texture parentKey="ExtendedBottomLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_BOTTOMLEFT">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOM" />
-                        <Anchor point="TOPLEFT" relativePoint="LEFT" />
-                    </Anchors>
-                    <Color r="0.1" g="0.1" b="0.1" a="0.5" />
-                </Texture>
-                <Texture parentKey="ExtendedBottomRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_BOTTOMRIGHT">
-                    <Anchors>
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOM" />
-                        <Anchor point="TOPRIGHT" relativePoint="RIGHT" />
-                    </Anchors>
-                    <Color r="0.1" g="0.1" b="0.1" a="0.5" />
-                </Texture>
-            </Layer>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-        <Frames>
-            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
-        </Frames>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_Blackout" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="blackout" />
-            <Attribute name="panelPadding" type="number" value="2" />
-            <Attribute name="panelColor" type="string" value="transparent" />
-            <Attribute name="panelGradient" type="boolean" value="false" />
-            <Attribute name="panelTexUpdate" type="boolean" value="false" />
-            <Attribute name="panelOffset" type="number" value="2" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-        </Attributes>
-        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="2" />
-            <TileSize val="0" />
-            <BackgroundInsets left="1" right="1" top="1" bottom="1" />
-            <Color r="0" g="0" b="0" a="0.5" />
-            <BorderColor r="0" g="0" b="0" a="1" />
-        </Backdrop>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" />
-                <Color r="0" g="0" b="0" a="0.5" />
-            </Layer>
-            <Layer level="BORDER">
-                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension x="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
-                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
-                    <Anchors>
-                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
-                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
-                    </Anchors>
-                    <Size>
-                        <AbsDimension y="2" />
-                    </Size>
-                    <Color r="0" g="0" b="0" a="1" />
-                </Texture>
-            </Layer>
-        </Layers>
-        <Frames>
-            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
-        </Frames>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_UnitLarge" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="unitlarge" />
-            <Attribute name="panelPadding" type="number" value="0" />
-            <Attribute name="panelColor" type="string" value="special" />
-            <Attribute name="panelGradient" type="boolean" value="false" />
-            <Attribute name="panelTexUpdate" type="boolean" value="true" />
-            <Attribute name="panelOffset" type="number" value="3" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-            <Attribute name="panelNoBackdrop" type="boolean" value="true" />
-        </Attributes>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Unitframe\Background\UNIT-BG1" setAllPoints="true" />
-                <Color r="0.37" g="0.32" b="0.29" a="1" />
-            </Layer>
-        </Layers>
-    </Frame>
-
-    <Frame name="SVUI_PanelTemplate_UnitSmall" virtual="true">
-        <Attributes>
-            <Attribute name="panelID" type="string" value="unitlarge" />
-            <Attribute name="panelPadding" type="number" value="0" />
-            <Attribute name="panelColor" type="string" value="special" />
-            <Attribute name="panelGradient" type="boolean" value="false" />
-            <Attribute name="panelTexUpdate" type="boolean" value="true" />
-            <Attribute name="panelOffset" type="number" value="3" />
-            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
-            <Attribute name="panelNoBackdrop" type="boolean" value="true" />
-        </Attributes>
-        <Layers>
-            <Layer level="BACKGROUND" textureSubLevel="1">
-                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Unitframe\Background\UNIT-SMALL-BG1" setAllPoints="true" />
-                <Color r="0.37" g="0.32" b="0.29" a="1" />
-            </Layer>
-        </Layers>
-    </Frame>
-
+    <Include file="api_fonts.xml"/>
+    <Include file="api_templates.xml"/>
     <Script file="api_general.lua"/>
     <Script file="api_style.lua"/>
 </Ui>
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI/framework/api/api_fonts.xml b/Interface/AddOns/SVUI/framework/api/api_fonts.xml
new file mode 100644
index 0000000..5ac7372
--- /dev/null
+++ b/Interface/AddOns/SVUI/framework/api/api_fonts.xml
@@ -0,0 +1,309 @@
+<Ui xmlns="http://www.blizzard.com/wow/ui/">
+    <Font name="SVUI_Font_Default" font="Fonts\ARIALN.TTF" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="12"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Aura" font="Fonts\MORPHEUS.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="10"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Number" font="Fonts\MORPHEUS.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="11"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Number_Huge" font="Fonts\MORPHEUS.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="18"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Header" font="Fonts\MORPHEUS.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="15"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Data" font="Fonts\ARIALN.TTF" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="11"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Caps" font="Fonts\skurri.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="12"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Narrator" font="Fonts\ARIALN.TTF" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="12"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Pixel" font="Fonts\skurri.ttf" monochrome="true" virtual="true">
+        <FontHeight>
+            <AbsValue val="8"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Quest" font="Fonts\ARIALN.TTF" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="12"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Quest_Header" font="Fonts\skurri.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="16"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Quest_Number" font="Fonts\MORPHEUS.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="11"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Chat" font="Fonts\ARIALN.TTF" justifyH="LEFT" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="12"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_ChatTab" font="Fonts\skurri.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="12"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_NamePlate" font="Fonts\skurri.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="9"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_NamePlate_Aura" font="Fonts\skurri.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="9"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_NamePlate_Number" font="Fonts\skurri.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="9"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Bag" font="Fonts\ARIALN.TTF" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="12"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Bag_Number" font="Fonts\MORPHEUS.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="11"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Loot" font="Fonts\ARIALN.TTF" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="12"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Loot_Number" font="Fonts\MORPHEUS.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="11"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Roll" font="Fonts\ARIALN.TTF" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="12"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Roll_Number" font="Fonts\MORPHEUS.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="11"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Unit" font="Fonts\MORPHEUS.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="11"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_Unit_Small" font="Fonts\MORPHEUS.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="11"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_UnitAura" font="Fonts\ARIALN.TTF" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="10"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_UnitAura_Bar" font="Fonts\skurri.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="10"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_UnitAura_Small" font="Fonts\skurri.ttf" monochrome="true" virtual="true">
+        <FontHeight>
+            <AbsValue val="8"/>
+        </FontHeight>
+    </Font>
+    <Font name="SVUI_Font_UnitAura_Large" font="Fonts\MORPHEUS.ttf" virtual="true">
+        <Shadow>
+            <Offset>
+                <AbsDimension x="1" y="-1"/>
+            </Offset>
+            <Color r="0" g="0" b="0" a="0.25"/>
+        </Shadow>
+        <FontHeight>
+            <AbsValue val="11"/>
+        </FontHeight>
+    </Font>
+</Ui>
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI/framework/api/api_general.lua b/Interface/AddOns/SVUI/framework/api/api_general.lua
index 659d0b1..bb3a04a 100644
--- a/Interface/AddOns/SVUI/framework/api/api_general.lua
+++ b/Interface/AddOns/SVUI/framework/api/api_general.lua
@@ -161,99 +161,6 @@ local RemoveTextures = function(self, option)
 end
 --[[
 ##########################################################
-APPENDED FONT TEMPLATING METHODS
-##########################################################
-]]--
-local ManagedFonts = {};
-
-local FONT_LIST_DIRTY = false;
-
-local FontManager = function(self, template, arg, sizeMod, styleOverride, colorR, colorG, colorB)
-    if not self then return end
-    template = template or "default";
-    local info = SV.db.font[template];
-    if(not info) then return end
-
-    local isSystemFont = false;
-    if(arg and (arg == 'SYSTEM')) then
-        isSystemFont = true;
-    end
-
-    local file = LSM:Fetch("font", info.file);
-    local size = info.size;
-    local outline = info.outline;
-
-    if(styleOverride) then
-        self.___fontOutline = styleOverride;
-        outline = styleOverride;
-    end
-
-    self.___fontSizeMod = sizeMod or 0;
-    self:SetFont(file, (size + self.___fontSizeMod), outline)
-
-    if(not isSystemFont) then
-        if(info.outline and info.outline ~= "NONE") then
-            self:SetShadowColor(0, 0, 0, 0)
-        else
-            self:SetShadowColor(0, 0, 0, 0.2)
-        end
-        self:SetShadowOffset(1, -1)
-        self:SetJustifyH(arg or "CENTER")
-        self:SetJustifyV("MIDDLE")
-    end
-
-    if(colorR and colorG and colorB) then
-        self:SetTextColor(colorR, colorG, colorB);
-    end
-
-    if(not ManagedFonts[template]) then
-        ManagedFonts[template] = {}
-    end
-
-    ManagedFonts[template][self] = true
-end
-
-SV.SetToFontManager = FontManager;
-
-local function UpdateFontTemplate(template)
-    template = template or "default";
-    local info = SV.db.font[template];
-    local file = LSM:Fetch("font", info.file);
-    local size = info.size;
-    local line = info.outline;
-    local list = ManagedFonts[template];
-    if(not list) then return end
-    for frame in pairs(list) do
-        if frame then
-            if(frame.___fontOutline) then
-                frame:SetFont(file, (size + frame.___fontSizeMod), frame.___fontOutline);
-            else
-                frame:SetFont(file, (size + frame.___fontSizeMod), line);
-            end
-        else
-            ManagedFonts[template][frame] = nil;
-        end
-    end
-end
-
-local function UpdateAllFontTemplates()
-    for template, _ in pairs(ManagedFonts) do
-        UpdateFontTemplate(template)
-    end
-end
-
-local function UpdateFontGroup(...)
-    for i = 1, select('#', ...) do
-        local template = select(i, ...)
-        if not template then break end
-        UpdateFontTemplate(template)
-    end
-end
-
-SV.Events:On("SVUI_ALLFONTS_UPDATED", "UpdateAllFontTemplates", UpdateAllFontTemplates);
-SV.Events:On("SVUI_FONTGROUP_UPDATED", "UpdateFontGroup", UpdateFontGroup);
---[[
-##########################################################
 SECURE FADING
 ##########################################################
 ]]--
@@ -366,10 +273,9 @@ end
 HOOKED ATLAS HIJACKER
 ##########################################################
 ]]--
--- For the atlas listeners we will unfortunately need a few global objects
-_G.ATLAS_THIEF = {} -- Wasn't this the name of a movie?
-_G.ATLAS_HACKS = {} -- Couldn't think of anything clever honestly.
-_G.ATLAS_HACKS["default"] = function(self)
+local ATLAS_THIEF = {} -- Wasn't this the name of a movie?
+local ATLAS_HACKS = {} -- Couldn't think of anything clever honestly.
+ATLAS_HACKS["default"] = function(self)
   self:SetTexture("")
 end

@@ -385,6 +291,17 @@ local StealAtlas = function(self, atlas)
         end
     end
 end
+
+function SV:SetAtlasFunc(atlas, fn)
+    ATLAS_HACKS[atlas] = fn
+end
+
+function SV:SetAtlasFilter(atlas, fn)
+    if(not fn) then
+        fn = "default"
+    end
+    ATLAS_THIEF[atlas] = fn
+end
 --[[
 ##########################################################
 ENUMERATION
@@ -400,7 +317,6 @@ local function AppendMethods(OBJECT)
     if not OBJECT.SetAllPointsIn then META.SetAllPointsIn = SetAllPointsIn end
     if not OBJECT.Die then META.Die = Die end
     if not OBJECT.RemoveTextures then META.RemoveTextures = RemoveTextures end
-    if not OBJECT.FontManager then META.FontManager = FontManager end
     if not OBJECT.FadeIn then META.FadeIn = SecureFadeIn end
     if not OBJECT.FadeOut then META.FadeOut = SecureFadeOut end
     if not OBJECT.FadeCallback then META.FadeCallback = SecureFadeCallback end
diff --git a/Interface/AddOns/SVUI/framework/api/api_style.lua b/Interface/AddOns/SVUI/framework/api/api_style.lua
index c63a31b..4587915 100644
--- a/Interface/AddOns/SVUI/framework/api/api_style.lua
+++ b/Interface/AddOns/SVUI/framework/api/api_style.lua
@@ -46,6 +46,8 @@ local SV = select(2, ...)
 local L = SV.L
 local SVLib = LibSuperVillain("Registry");
 local STANDARD_TEXT_FONT = _G.STANDARD_TEXT_FONT;
+local DEFAULT_BG_COLOR = {0.18,0.18,0.18,1};
+local DEFAULT_BORDER_COLOR = {0,0,0,1};
 --[[
 ##########################################################
 TEMPLATE LOOKUP TABLES
@@ -63,6 +65,7 @@ local XML_TEMPLATE = {
     ["Slot"]            = "SVUI_PanelTemplate_Slot",
     ["Icon"]            = "SVUI_PanelTemplate_Icon",
     ["Inset"]           = "SVUI_PanelTemplate_Inset",
+    ["Checkbox"]        = "SVUI_PanelTemplate_Checkbox",
     ["Comic"]           = "SVUI_PanelTemplate_Comic",
     ["Model"]           = "SVUI_PanelTemplate_Model",
     ["ModelBorder"]     = "SVUI_PanelTemplate_ModelBorder",
@@ -161,8 +164,11 @@ local Cooldown_OnUpdate = function(self, elapsed)
     if self.nextUpdate > 0 then
         self.nextUpdate = self.nextUpdate - elapsed;
         return
-    end
-    local expires = (self.duration - (GetTime() - self.start));
+    end
+    local now = GetTime();
+    local start = self.start;
+    local remaining = now - start;
+    local expires = (self.duration - (now - start));
     if expires > 0.05 then
         if (self.fontScale * self:GetEffectiveScale() / UIParent:GetScale()) < 0.5 then
             self.text:SetText('')
@@ -189,8 +195,12 @@ local Cooldown_OnUpdate = function(self, elapsed)
             else
                 timeLeft = ceil(expires / 86400);
                 calc = floor((expires / 86400) + .5);
-                self.nextUpdate = calc > 1 and ((expires - calc) * 43199.5) or (expires - 86400);
-                self.text:SetFormattedText("|cff6666ff%dd|r", timeLeft)
+                self.nextUpdate = calc > 1 and ((expires - calc) * 43199.5) or (expires - 85680);
+                if(timeLeft > 7) then
+                    self.text:SetFormattedText("|cff6666ff%s|r", "long")
+                else
+                    self.text:SetFormattedText("|cff6666ff%dd|r", timeLeft)
+                end
             end
         end
     else
@@ -372,17 +382,22 @@ local function CreatePanelTemplate(frame, templateName, underlay, noupdate, padd
         end
     end

-    local bgColor = SV.Media.color[colorName] or {0.18,0.18,0.18,1}
+    local bgColor = SV.Media.color[colorName] or DEFAULT_BG_COLOR
+    local borderColor = DEFAULT_BORDER_COLOR
+    if(frame.Panel:GetAttribute("panelBorderColor")) then
+        local bdrColor = frame.Panel:GetAttribute("panelBorderColor")
+        borderColor = SV.Media.color[bdrColor] or DEFAULT_BORDER_COLOR
+    end

     if(not frame.Panel:GetAttribute("panelNoBackdrop")) then
         if(underlay) then
             frame.Panel:SetBackdropColor(bgColor[1],bgColor[2],bgColor[3],bgColor[4] or 1)
-            frame.Panel:SetBackdropBorderColor(0,0,0,1)
+            frame.Panel:SetBackdropBorderColor(borderColor[1],borderColor[2],borderColor[3],borderColor[4] or 1)
         else
             local bd = frame.Panel:GetBackdrop()
             frame:SetBackdrop(bd)
             frame:SetBackdropColor(bgColor[1],bgColor[2],bgColor[3],bgColor[4] or 1)
-            frame:SetBackdropBorderColor(0,0,0,1)
+            frame:SetBackdropBorderColor(borderColor[1],borderColor[2],borderColor[3],borderColor[4] or 1)

             frame.Panel:SetBackdrop(nil)
         end
@@ -625,7 +640,7 @@ TEMPLATE_METHODS["Checkbox"] = function(self, shrink, x, y)

     self:SetSize(width, height)

-    CreatePanelTemplate(self, "Inset", true, true, 1, x, y)
+    CreatePanelTemplate(self, "Checkbox", true, true, 1, x, y)

     if(self.SetNormalTexture) then
         self:SetNormalTexture("")
@@ -864,7 +879,13 @@ local function FrameTemplateUpdates()
                 if(panelColor) then
                     frame:SetBackdropColor(panelColor[1], panelColor[2], panelColor[3], panelColor[4] or 1)
                 end
-                frame:SetBackdropBorderColor(0,0,0,1)
+                if(frame.Panel:GetAttribute("panelBorderColor")) then
+                    local bdrColor = frame.Panel:GetAttribute("panelBorderColor")
+                    borderColor = SV.Media.color[bdrColor] or DEFAULT_BORDER_COLOR
+                    frame:SetBackdropBorderColor(bdrColor[1], bdrColor[2], bdrColor[3], bdrColor[4] or 1)
+                else
+                    frame:SetBackdropBorderColor(0,0,0,1)
+                end
             end
             if(frame.TextureNeedsUpdate and frame.Panel.Skin) then
                 local tex = SV.Media.bg[panelID]
diff --git a/Interface/AddOns/SVUI/framework/api/api_templates.xml b/Interface/AddOns/SVUI/framework/api/api_templates.xml
new file mode 100644
index 0000000..10ba305
--- /dev/null
+++ b/Interface/AddOns/SVUI/framework/api/api_templates.xml
@@ -0,0 +1,1370 @@
+<Ui xmlns="http://www.blizzard.com/wow/ui/">
+    <Frame name="SVUI_ShadowTemplate" virtual="true">
+        <Attributes>
+            <Attribute name="shadowAlpha" type="number" value="0.5" />
+        </Attributes>
+        <Backdrop edgeFile="Interface\AddOns\SVUI\assets\artwork\Template\GLOW">
+            <EdgeSize val="3" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0" g="0" b="0" a="0" />
+            <BorderColor r="0" g="0" b="0" a="0.5" />
+        </Backdrop>
+    </Frame>
+
+	<Frame name="SVUI_PanelTemplate_Default" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="default" />
+            <Attribute name="panelPadding" type="number" value="1" />
+            <Attribute name="panelColor" type="string" value="default" />
+            <Attribute name="panelGradient" type="string" value="default" />
+            <Attribute name="panelTexUpdate" type="boolean" value="false" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="1" />
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0.2" g="0.2" b="0.2" a="1" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" />
+                <Color r="0.2" g="0.2" b="0.2" a="1" />
+            </Layer>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Transparent" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="transparent" />
+            <Attribute name="panelPadding" type="number" value="2" />
+            <Attribute name="panelColor" type="string" value="transparent" />
+            <Attribute name="panelGradient" type="boolean" value="false" />
+            <Attribute name="panelTexUpdate" type="boolean" value="false" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="true" />
+        </Attributes>
+        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="2" />
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0" g="0" b="0" a="0.5" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Component" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="component" />
+            <Attribute name="panelPadding" type="number" value="1" />
+            <Attribute name="panelColor" type="string" value="default" />
+            <Attribute name="panelGradient" type="string" value="default" />
+            <Attribute name="panelTexUpdate" type="boolean" value="false" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="2" />
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0.2" g="0.2" b="0.2" a="1" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" />
+                <Color r="0.2" g="0.2" b="0.2" a="1" />
+            </Layer>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+        <Frames>
+            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
+        </Frames>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Headline" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="headline" />
+            <Attribute name="panelPadding" type="number" value="1" />
+            <Attribute name="panelColor" type="string" value="hinted" />
+            <Attribute name="panelGradient" type="boolean" value="false" />
+            <Attribute name="panelTexUpdate" type="boolean" value="false" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" tile="true" edgeFile="Interface\BUTTONS\WHITE8X8">
+            <EdgeSize val="1" />
+            <TileSize val="20" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+            <Color r="0" g="0" b="0" a="0.25" />
+        </Backdrop>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Button" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="button" />
+            <Attribute name="panelPadding" type="number" value="1" />
+            <Attribute name="panelColor" type="string" value="default" />
+            <Attribute name="panelGradient" type="boolean" value="false" />
+            <Attribute name="panelTexUpdate" type="boolean" value="false" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\BUTTON" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="2" />
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0.2" g="0.2" b="0.2" a="1" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+        <Frames>
+            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
+        </Frames>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_FramedTop" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="framedtop" />
+            <Attribute name="panelPadding" type="number" value="1" />
+            <Attribute name="panelColor" type="string" value="default" />
+            <Attribute name="panelGradient" type="string" value="darkest2" />
+            <Attribute name="panelTexUpdate" type="boolean" value="true" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="1" />
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0.2" g="0.2" b="0.2" a="1" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT2" setAllPoints="true" />
+                <Color r="0.2" g="0.2" b="0.2" a="1" />
+            </Layer>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_FramedBottom" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="framedbottom" />
+            <Attribute name="panelPadding" type="number" value="1" />
+            <Attribute name="panelColor" type="string" value="default" />
+            <Attribute name="panelGradient" type="string" value="darkest" />
+            <Attribute name="panelTexUpdate" type="boolean" value="true" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="1" />
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0.2" g="0.2" b="0.2" a="1" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" />
+                <Color r="0.2" g="0.2" b="0.2" a="1" />
+            </Layer>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Bar" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="bar" />
+            <Attribute name="panelPadding" type="number" value="1" />
+            <Attribute name="panelColor" type="string" value="transparent" />
+            <Attribute name="panelGradient" type="boolean" value="false" />
+            <Attribute name="panelTexUpdate" type="boolean" value="false" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="true" />
+        </Attributes>
+        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="1" />
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0" g="0" b="0" a="0.5" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Slot" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="slot" />
+            <Attribute name="panelPadding" type="number" value="2" />
+            <Attribute name="panelColor" type="string" value="transparent" />
+            <Attribute name="panelGradient" type="boolean" value="false" />
+            <Attribute name="panelTexUpdate" type="boolean" value="false" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="true" />
+        </Attributes>
+        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="1" />
+            <TileSize val="0" />
+            <BackgroundInsets left="1" right="1" top="1" bottom="1" />
+            <Color r="0" g="0" b="0" a="0.5" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+        <Frames>
+            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
+        </Frames>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Icon" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="slot" />
+            <Attribute name="panelPadding" type="number" value="2" />
+            <Attribute name="panelColor" type="string" value="invisible" />
+            <Attribute name="panelGradient" type="boolean" value="false" />
+            <Attribute name="panelTexUpdate" type="boolean" value="false" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="true" />
+        </Attributes>
+        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="1" />
+            <TileSize val="0" />
+            <BackgroundInsets left="1" right="1" top="1" bottom="1" />
+            <Color r="0" g="0" b="0" a="0" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+        <Frames>
+            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
+        </Frames>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Checkbox" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="checkbox" />
+            <Attribute name="panelPadding" type="number" value="1" />
+            <Attribute name="panelBorderColor" type="string" value="default" />
+            <Attribute name="panelColor" type="string" value="transparent" />
+            <Attribute name="panelGradient" type="boolean" value="false" />
+            <Attribute name="panelTexUpdate" type="boolean" value="false" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="true" />
+        </Attributes>
+        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="1" />
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0" g="0" b="0" a="0.5" />
+            <BorderColor r="0.1" g="0.1" b="0.1" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0.1" g="0.1" b="0.1" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0.1" g="0.1" b="0.1" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0.1" g="0.1" b="0.1" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0.1" g="0.1" b="0.1" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Inset" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="inset" />
+            <Attribute name="panelPadding" type="number" value="1" />
+            <Attribute name="panelColor" type="string" value="transparent" />
+            <Attribute name="panelGradient" type="boolean" value="false" />
+            <Attribute name="panelTexUpdate" type="boolean" value="false" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="true" />
+        </Attributes>
+        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" edgeFile="Interface\AddOns\SVUI\assets\artwork\Template\INSET" tile="false">
+            <EdgeSize val="6" />
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0" g="0" b="0" a="0.5" />
+            <BorderColor r="0" g="0" b="0" a="0.5" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="1" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Comic" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="comic" />
+            <Attribute name="panelPadding" type="number" value="1" />
+            <Attribute name="panelColor" type="string" value="class" />
+            <Attribute name="panelGradient" type="string" value="class" />
+            <Attribute name="panelTexUpdate" type="boolean" value="true" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC1" tile="false">
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0.2" g="0.2" b="0.2" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC1" setAllPoints="true" />
+                <Color r="0.2" g="0.2" b="0.2" a="1" />
+            </Layer>
+        </Layers>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Model" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="model" />
+            <Attribute name="panelPadding" type="number" value="1" />
+            <Attribute name="panelColor" type="string" value="special" />
+            <Attribute name="panelGradient" type="string" value="class" />
+            <Attribute name="panelTexUpdate" type="boolean" value="true" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" tile="false">
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0.37" g="0.32" b="0.29" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" setAllPoints="true" />
+                <Color r="0.37" g="0.32" b="0.29" a="1" />
+            </Layer>
+        </Layers>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_ModelBorder" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="modelborder" />
+            <Attribute name="panelPadding" type="number" value="2" />
+            <Attribute name="panelColor" type="string" value="special" />
+            <Attribute name="panelGradient" type="string" value="class" />
+            <Attribute name="panelTexUpdate" type="boolean" value="true" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="2" />
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0" g="0" b="0" a="0.5" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\COMIC-MODEL" setAllPoints="true" />
+                <Color r="0.37" g="0.32" b="0.29" a="1" />
+            </Layer>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+        <Frames>
+            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
+        </Frames>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Paper" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="paper" />
+            <Attribute name="panelPadding" type="number" value="3" />
+            <Attribute name="panelColor" type="string" value="white" />
+            <Attribute name="panelGradient" type="string" value="white" />
+            <Attribute name="panelTexUpdate" type="boolean" value="true" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="true" />
+        </Attributes>
+        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="1" />
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="1" g="1" b="1" a="1" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" setAllPoints="true" />
+                <Color r="1" g="1" b="1" a="1" />
+            </Layer>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="3" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="3" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="3" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="3" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Container" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="container" />
+            <Attribute name="panelPadding" type="number" value="2" />
+            <Attribute name="panelColor" type="string" value="container" />
+            <Attribute name="panelGradient" type="string" value="container" />
+            <Attribute name="panelTexUpdate" type="boolean" value="true" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="1" />
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0.22" g="0.21" b="0.2" a="1" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" setAllPoints="true" />
+                <Color r="0.22" g="0.21" b="0.2" a="1" />
+            </Layer>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Pattern" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="pattern" />
+            <Attribute name="panelPadding" type="number" value="3" />
+            <Attribute name="panelColor" type="string" value="special" />
+            <Attribute name="panelGradient" type="string" value="special" />
+            <Attribute name="panelTexUpdate" type="boolean" value="true" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PATTERN1" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="1" />
+            <TileSize val="0" />
+            <BackgroundInsets left="0" right="0" top="0" bottom="0" />
+            <Color r="0.37" g="0.32" b="0.29" a="1" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PATTERN1" setAllPoints="true" />
+                <Color r="0.37" g="0.32" b="0.29" a="1" />
+            </Layer>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="3" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="3" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="3" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="3" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+        <Frames>
+            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
+        </Frames>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Action" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="action" />
+            <Attribute name="panelPadding" type="number" value="2" />
+            <Attribute name="panelColor" type="string" value="default" />
+            <Attribute name="panelGradient" type="string" value="special" />
+            <Attribute name="panelTexUpdate" type="boolean" value="true" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="2" />
+            <TileSize val="0" />
+            <BackgroundInsets left="1" right="1" top="1" bottom="1" />
+            <Color r="0.2" g="0.2" b="0.2" a="1" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" />
+                <Color r="0.2" g="0.2" b="0.2" a="1" />
+            </Layer>
+            <Layer level="BACKGROUND" textureSubLevel="2">
+                <Texture parentKey="ExtendedTopLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_TOPLEFT">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOP" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="LEFT" />
+                    </Anchors>
+                    <Color r="0.05" g="0.05" b="0.05" a="0.5" />
+                </Texture>
+                <Texture parentKey="ExtendedTopRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_TOPRIGHT">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="TOPLEFT" relativePoint="TOP" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="RIGHT" />
+                    </Anchors>
+                    <Color r="0.05" g="0.05" b="0.05" a="0.5" />
+                </Texture>
+                <Texture parentKey="ExtendedBottomLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_BOTTOMLEFT">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOM" />
+                        <Anchor point="TOPLEFT" relativePoint="LEFT" />
+                    </Anchors>
+                    <Color r="0.1" g="0.1" b="0.1" a="0.5" />
+                </Texture>
+                <Texture parentKey="ExtendedBottomRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\ACTION_BOTTOMRIGHT">
+                    <Anchors>
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOM" />
+                        <Anchor point="TOPRIGHT" relativePoint="RIGHT" />
+                    </Anchors>
+                    <Color r="0.1" g="0.1" b="0.1" a="0.5" />
+                </Texture>
+            </Layer>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+        <Frames>
+            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
+        </Frames>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Halftone" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="halftone" />
+            <Attribute name="panelPadding" type="number" value="2" />
+            <Attribute name="panelColor" type="string" value="default" />
+            <Attribute name="panelGradient" type="string" value="special" />
+            <Attribute name="panelTexUpdate" type="boolean" value="true" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="2" />
+            <TileSize val="0" />
+            <BackgroundInsets left="1" right="1" top="1" bottom="1" />
+            <Color r="0.2" g="0.2" b="0.2" a="1" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" />
+                <Color r="0.2" g="0.2" b="0.2" a="1" />
+            </Layer>
+            <Layer level="BACKGROUND" textureSubLevel="2">
+                <Texture parentKey="ExtendedTopLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_TOPLEFT">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOP" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="LEFT" />
+                    </Anchors>
+                    <Color r="0.05" g="0.05" b="0.05" a="0.5" />
+                </Texture>
+                <Texture parentKey="ExtendedTopRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_TOPRIGHT">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="TOPLEFT" relativePoint="TOP" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="RIGHT" />
+                    </Anchors>
+                    <Color r="0.05" g="0.05" b="0.05" a="0.5" />
+                </Texture>
+                <Texture parentKey="ExtendedBottomLeft" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_BOTTOMLEFT">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOM" />
+                        <Anchor point="TOPLEFT" relativePoint="LEFT" />
+                    </Anchors>
+                    <Color r="0.1" g="0.1" b="0.1" a="0.5" />
+                </Texture>
+                <Texture parentKey="ExtendedBottomRight" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Extended\HALFTONE_BOTTOMRIGHT">
+                    <Anchors>
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOM" />
+                        <Anchor point="TOPRIGHT" relativePoint="RIGHT" />
+                    </Anchors>
+                    <Color r="0.1" g="0.1" b="0.1" a="0.5" />
+                </Texture>
+            </Layer>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+        <Frames>
+            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
+        </Frames>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_Blackout" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="blackout" />
+            <Attribute name="panelPadding" type="number" value="2" />
+            <Attribute name="panelColor" type="string" value="transparent" />
+            <Attribute name="panelGradient" type="boolean" value="false" />
+            <Attribute name="panelTexUpdate" type="boolean" value="false" />
+            <Attribute name="panelOffset" type="number" value="2" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+        </Attributes>
+        <Backdrop bgFile="Interface\BUTTONS\WHITE8X8" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+            <EdgeSize val="2" />
+            <TileSize val="0" />
+            <BackgroundInsets left="1" right="1" top="1" bottom="1" />
+            <Color r="0" g="0" b="0" a="0.5" />
+            <BorderColor r="0" g="0" b="0" a="1" />
+        </Backdrop>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT" setAllPoints="true" />
+                <Color r="0" g="0" b="0" a="0.5" />
+            </Layer>
+            <Layer level="BORDER">
+                <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderRight" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension x="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderTop" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="BorderBottom" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" />
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
+                    </Anchors>
+                    <Size>
+                        <AbsDimension y="2" />
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+        <Frames>
+            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
+        </Frames>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_UnitLarge" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="unitlarge" />
+            <Attribute name="panelPadding" type="number" value="0" />
+            <Attribute name="panelColor" type="string" value="special" />
+            <Attribute name="panelGradient" type="boolean" value="false" />
+            <Attribute name="panelTexUpdate" type="boolean" value="true" />
+            <Attribute name="panelOffset" type="number" value="3" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+            <Attribute name="panelNoBackdrop" type="boolean" value="true" />
+        </Attributes>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Unitframe\Background\UNIT-BG1" setAllPoints="true" />
+                <Color r="0.37" g="0.32" b="0.29" a="1" />
+            </Layer>
+        </Layers>
+    </Frame>
+
+    <Frame name="SVUI_PanelTemplate_UnitSmall" virtual="true">
+        <Attributes>
+            <Attribute name="panelID" type="string" value="unitlarge" />
+            <Attribute name="panelPadding" type="number" value="0" />
+            <Attribute name="panelColor" type="string" value="special" />
+            <Attribute name="panelGradient" type="boolean" value="false" />
+            <Attribute name="panelTexUpdate" type="boolean" value="true" />
+            <Attribute name="panelOffset" type="number" value="3" />
+            <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+            <Attribute name="panelNoBackdrop" type="boolean" value="true" />
+        </Attributes>
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="1">
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Unitframe\Background\UNIT-SMALL-BG1" setAllPoints="true" />
+                <Color r="0.37" g="0.32" b="0.29" a="1" />
+            </Layer>
+        </Layers>
+    </Frame>
+</Ui>
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI/framework/docks/dock_stats.lua b/Interface/AddOns/SVUI/framework/docks/dock_stats.lua
index 414ec80..cf615f4 100644
--- a/Interface/AddOns/SVUI/framework/docks/dock_stats.lua
+++ b/Interface/AddOns/SVUI/framework/docks/dock_stats.lua
@@ -254,7 +254,7 @@ local function GetDataSlot(parent, index)
 		slot.text = slot.textframe:CreateFontString(nil, "OVERLAY", nil, 7)
 		slot.text:SetAllPoints()

-		slot.text:FontManager("data")
+		slot.text:SetFontObject(SVUI_Font_Data)
 		if(SV.db.Dock.dataBackdrop) then
 			slot.text:SetShadowColor(0, 0, 0, 0.5)
 			slot.text:SetShadowOffset(2, -4)
diff --git a/Interface/AddOns/SVUI/framework/movers/mover_mentalo.lua b/Interface/AddOns/SVUI/framework/movers/mover_mentalo.lua
index 3298f1c..cbab8c4 100644
--- a/Interface/AddOns/SVUI/framework/movers/mover_mentalo.lua
+++ b/Interface/AddOns/SVUI/framework/movers/mover_mentalo.lua
@@ -147,19 +147,19 @@ local function SnapStickyFrame(frameA, frameB, left, top, right, bottom)
 	end
 end

-function Sticky:GetStickyUpdate(frame, xoffset, yoffset, left, top, right, bottom)
+local function GetStickyUpdate(frame, xoffset, yoffset, left, top, right, bottom)
 	return function()
 		local x, y = GetCursorPosition()
 		local s = frame:GetEffectiveScale()
 		x, y = x / s, y / s
 		frame:ClearAllPoints()
 		frame:SetPoint("CENTER", UIParent, "BOTTOMLEFT", x + xoffset, y + yoffset)
-		self.StuckTo[frame] = nil
+		Sticky.StuckTo[frame] = nil
 		for i = 1, #Sticky.Frames do
 			local v = Sticky.Frames[i]
-			if(frame ~= v and frame ~= v:GetParent() and not IsShiftKeyDown() and v:IsVisible()) then
+			if(frame ~= v and frame ~= v:GetParent() and IsShiftKeyDown() and v:IsVisible()) then
 				if SnapStickyFrame(frame, v, left, top, right, bottom) then
-					self.StuckTo[frame] = v
+					Sticky.StuckTo[frame] = v
 					break
 				end
 			end
@@ -167,22 +167,22 @@ function Sticky:GetStickyUpdate(frame, xoffset, yoffset, left, top, right, botto
 	end
 end

-function Sticky:StartMoving(frame, left, top, right, bottom)
+local function StickyStartMoving(frame, left, top, right, bottom)
 	local x, y = GetCursorPosition()
 	local aX, aY = frame:GetCenter()
 	local aS = frame:GetEffectiveScale()
 	aX, aY = aX * aS, aY * aS
 	local xoffset, yoffset = (aX - x), (aY - y)
-	self.scripts[frame] = frame:GetScript("OnUpdate")
-	frame:SetScript("OnUpdate", Sticky.GetStickyUpdate(Sticky, frame, xoffset, yoffset, left, top, right, bottom))
+	Sticky.scripts[frame] = frame:GetScript("OnUpdate")
+	frame:SetScript("OnUpdate", GetStickyUpdate(frame, xoffset, yoffset, left, top, right, bottom))
 end

-function Sticky:StopMoving(frame)
-	frame:SetScript("OnUpdate", self.scripts[frame])
-	self.scripts[frame] = nil
-	if self.StuckTo[frame] then
-		local frame2 = self.StuckTo[frame]
-		self.StuckTo[frame] = nil
+local function StickyStopMoving(frame)
+	frame:SetScript("OnUpdate", Sticky.scripts[frame])
+	Sticky.scripts[frame] = nil
+	if Sticky.StuckTo[frame] then
+		local frame2 = Sticky.StuckTo[frame]
+		Sticky.StuckTo[frame] = nil
 		return true, frame2
 	else
 		return false, nil
@@ -424,7 +424,7 @@ end
 local Movable_OnDragStart = function(self)
 	if InCombatLockdown() then SV:AddonMessage(ERR_NOT_IN_COMBAT)return end
 	if SV.db.general.stickyFrames then
-		Sticky:StartMoving(self, self.snapOffset)
+		StickyStartMoving(self, self.snapOffset, -2)
 	else
 		self:StartMoving()
 	end
@@ -439,7 +439,7 @@ local Movable_OnDragStop = function(self)
 	if InCombatLockdown()then SV:AddonMessage(ERR_NOT_IN_COMBAT)return end
 	TheHand.UserHeld = false;
 	if SV.db.general.stickyFrames then
-		Sticky:StopMoving(self)
+		StickyStopMoving(self)
 	else
 		self:StopMovingOrSizing()
 	end
@@ -525,7 +525,7 @@ local Movable_OnMouseDown = function(self, arg)
 			SVUI_MentaloPrecision:Hide()
 		end
 		if SV.db.general.stickyFrames then
-			Sticky:StopMoving(self)
+			StickyStopMoving(self)
 		else
 			self:StopMovingOrSizing()
 		end
@@ -579,7 +579,7 @@ function Mentalo:New(frame, moveName, title, snap, dragStopFunc)
 	frame:SetPoint(anchor1, movable, anchor1, 0, 0)

 	local mtext = movable:CreateFontString(nil, "OVERLAY")
-	mtext:FontManager("default")
+	mtext:SetFontObject(SVUI_Font_Default)
 	mtext:SetJustifyH("CENTER")
 	mtext:SetPoint("CENTER")
 	mtext:SetText(title or moveName)
diff --git a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/SpecialFX.lua b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/SpecialFX.lua
index aeae438..83636ef 100644
--- a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/SpecialFX.lua
+++ b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/SpecialFX.lua
@@ -64,7 +64,7 @@ local DEFAULT_MODEL = [[Spells\Missile_bomb.m2]];
 local DEFAULT_EFFECT = {DEFAULT_MODEL, 0, 0, 0, 0, 0.75, 0, 0};

 local EFFECTS_LIST = setmetatable({
-    ["default"]     = {[[Spells\Missile_bomb.m2]], 0, 0, 0, 0, 0.75, 0, 0},
+    ["default"]     = {[[Spells\Missile_bomb.m2]], -12, 12, 12, -12, 0.25, 0.125, 0.05},
     ["holy"]        = {[[Spells\Solar_precast_hand.m2]], -12, 12, 12, -12, 0.23, 0, 0},
     ["shadow"]      = {[[Spells\Shadow_precast_uber_hand.m2]], -12, 12, 12, -12, 0.23, -0.1, 0.1},
     ["arcane"]      = {[[Spells\Cast_arcane_01.m2]], -12, 12, 12, -12, 0.25, 0, 0},
diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraBars/oUF_AuraBars.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraBars/oUF_AuraBars.lua
index fc48962..84451bf 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraBars/oUF_AuraBars.lua
+++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraBars/oUF_AuraBars.lua
@@ -318,7 +318,7 @@ local function Update(self, event, unit)
 		local frame = bars[index]

 		if not frame then
-			frame = CreateAuraBar(self, index == 1 and auraBars or bars[index - 1])
+			frame = (auraBars.CreateAuraBar or CreateAuraBar) (self, index == 1 and auraBars or bars[index - 1])
 			bars[index] = frame
 		end

diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraWatch/oUF_AuraWatch.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraWatch/oUF_AuraWatch.lua
index bbd1d8e..b5ac11f 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraWatch/oUF_AuraWatch.lua
+++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraWatch/oUF_AuraWatch.lua
@@ -29,13 +29,33 @@ local oUF = oUF or ns.oUF
 assert(oUF, "oUF_AuraWatch cannot find an instance of oUF. If your oUF is embedded into a layout, it may not be embedded properly.")

 local UnitBuff, UnitDebuff, UnitGUID = UnitBuff, UnitDebuff, UnitGUID
-local GUIDs = {}
-
+local CACHED_GUIDS = {};
+local CACHED_IDS = {};
 local PLAYER_UNITS = {
 	player = true,
 	vehicle = true,
 	pet = true,
-}
+};
+local COUNT_OFFSETS = {
+	["TOPLEFT"] = {6, 1},
+	["TOPRIGHT"] = {-6, 1},
+	["BOTTOMLEFT"] = {6, 1},
+	["BOTTOMRIGHT"] = {-6, 1},
+	["LEFT"] = {6, 1},
+	["RIGHT"] = {-6, 1},
+	["TOP"] = {0, 0},
+	["BOTTOM"] = {0, 0},
+};
+local TEXT_OFFSETS = {
+	["TOPLEFT"] = {"LEFT", "RIGHT", -2, 0},
+	["TOPRIGHT"] = {"RIGHT", "LEFT", 2, 0},
+	["BOTTOMLEFT"] = {"LEFT", "RIGHT", -2, 0},
+	["BOTTOMRIGHT"] = {"RIGHT", "LEFT", 2, 0},
+	["LEFT"] = {"LEFT", "RIGHT", -2, 0},
+	["RIGHT"] = {"RIGHT", "LEFT", 2, 0},
+	["TOP"] = {"RIGHT", "LEFT", 2, 0},
+	["BOTTOM"] = {"RIGHT", "LEFT", 2, 0},
+};

 local setupGUID
 do
@@ -43,8 +63,8 @@ do

 	local frame = CreateFrame"Frame"
 	frame:SetScript("OnEvent", function(self, event)
-		for k,t in pairs(GUIDs) do
-			GUIDs[k] = nil
+		for k,t in pairs(CACHED_GUIDS) do
+			CACHED_GUIDS[k] = nil
 			for a in pairs(t) do
 				t[a] = nil
 			end
@@ -61,7 +81,7 @@ do
 		else
 			t = {}
 		end
-		GUIDs[guid] = t
+		CACHED_GUIDS[guid] = t
 	end
 end

@@ -148,23 +168,23 @@ local function expireIcon(icon, frame)
 	end
 end

-local found = {}
-local function Update(frame, event, unit)
-	if frame.unit ~= unit or not unit then return end
-	local watch = frame.AuraWatch
-	local index, icons = 1, watch.watched
-	local _, name, texture, count, duration, remaining, caster, key, icon, spellID
-	local filter = "HELPFUL"
+local Update = function(self, event, unit)
+	if self.unit ~= unit or not unit then return end
+	local watch = self.AuraWatch
+	local index, watching = 1, watch.Active
+
 	local guid = UnitGUID(unit)
 	if not guid then return end
-	if not GUIDs[guid] then setupGUID(guid) end
+	if not CACHED_GUIDS[guid] then setupGUID(guid) end

-	for key, icon in pairs(icons) do
-		if not icon.onlyShowMissing then
-			icon:Hide()
+	for _, aura in pairs(watching) do
+		if not aura.onlyShowMissing then
+			aura:Hide()
 		end
 	end

+	local _, name, texture, count, duration, remaining, caster, key, aura, spellID;
+	local filter = "HELPFUL";
 	while true do
 		name, _, texture, count, _, duration, remaining, caster, _, _, spellID = UnitAura(unit, index, filter)
 		if not name then
@@ -180,118 +200,277 @@ local function Update(frame, event, unit)
 			else
 				key = name..texture
 			end
-			icon = icons[key]
+			aura = watching[key]

-			if icon and (icon.anyUnit or (caster and icon.fromUnits and icon.fromUnits[caster])) then
-				resetIcon(icon, watch, count, duration, remaining)
-				GUIDs[guid][key] = true
-				found[key] = true
+			if aura and (aura.anyUnit or (caster and aura.fromUnits and aura.fromUnits[caster])) then
+				resetIcon(aura, watch, count, duration, remaining)
+				CACHED_GUIDS[guid][key] = true
+				CACHED_IDS[key] = true
 			end
 			index = index + 1
 		end
 	end

-	for key in pairs(GUIDs[guid]) do
-		if icons[key] and not found[key] then
-			expireIcon(icons[key], watch)
+	for cacheKey in pairs(CACHED_GUIDS[guid]) do
+		if watching[cacheKey] and not CACHED_IDS[cacheKey] then
+			expireIcon(watching[cacheKey], watch)
 		end
 	end

-	for k in pairs(found) do
-		found[k] = nil
+	for cacheKey in pairs(CACHED_IDS) do
+		CACHED_IDS[cacheKey] = nil
 	end
 end

-local function setupIcons(self)
-
-	local watch = self.AuraWatch
-	local icons = watch.icons
-	watch.watched = {}
+local UpdateIcons = function(self)
+	local auras = self.Cache

-	for _,icon in pairs(icons) do
+	for _,aura in pairs(auras) do

-		local name, _, image = GetSpellInfo(icon.spellID)
+		local name, _, image = GetSpellInfo(aura.spellID)

 		if name then
-			icon.name = name
+			aura.name = name

-			if not icon.cd and not (watch.hideCooldown or icon.hideCooldown) then
-				local cd = CreateFrame("Cooldown", nil, icon, "CooldownFrameTemplate")
-				cd:SetAllPoints(icon)
-				icon.cd = cd
+			if not aura.cd and not (self.hideCooldown or aura.hideCooldown) then
+				local cd = CreateFrame("Cooldown", nil, aura, "CooldownFrameTemplate")
+				cd:SetAllPoints(aura)
+				aura.cd = cd
 			end

-			if not icon.icon then
-				local tex = icon:CreateTexture(nil, "BACKGROUND")
-				tex:SetAllPoints(icon)
+			if not aura.icon then
+				local tex = aura:CreateTexture(nil, "BACKGROUND")
+				tex:SetAllPoints(aura)
 				tex:SetTexture(image)
-				icon.icon = tex
-				if not icon.overlay then
-					local overlay = icon:CreateTexture(nil, "OVERLAY")
+				aura.icon = tex
+				if not aura.overlay then
+					local overlay = aura:CreateTexture(nil, "OVERLAY")
 					overlay:SetTexture"Interface\\Buttons\\UI-Debuff-Overlays"
-					overlay:SetAllPoints(icon)
+					overlay:SetAllPoints(aura)
 					overlay:SetTexCoord(.296875, .5703125, 0, .515625)
 					overlay:SetVertexColor(1, 0, 0)
-					icon.overlay = overlay
+					aura.overlay = overlay
 				end
 			end

-			if not icon.count and not (watch.hideCount or icon.hideCount) then
-				local count = icon:CreateFontString(nil, "OVERLAY")
+			if not aura.count and not (self.hideCount or aura.hideCount) then
+				local count = aura:CreateFontString(nil, "OVERLAY")
 				count:SetFontObject(NumberFontNormal)
-				count:SetPoint("BOTTOMRIGHT", icon, "BOTTOMRIGHT", -1, 0)
-				icon.count = count
+				count:SetPoint("BOTTOMRIGHT", aura, "BOTTOMRIGHT", -1, 0)
+				aura.count = count
 			end

-			if icon.onlyShowMissing == nil then
-				icon.onlyShowMissing = watch.onlyShowMissing
+			if aura.onlyShowMissing == nil then
+				aura.onlyShowMissing = self.onlyShowMissing
 			end
-			if icon.onlyShowPresent == nil then
-				icon.onlyShowPresent = watch.onlyShowPresent
+			if aura.onlyShowPresent == nil then
+				aura.onlyShowPresent = self.onlyShowPresent
 			end
-			if icon.presentAlpha == nil then
-				icon.presentAlpha = watch.presentAlpha
+			if aura.presentAlpha == nil then
+				aura.presentAlpha = self.presentAlpha
 			end
-			if icon.missingAlpha == nil then
-				icon.missingAlpha = watch.missingAlpha
+			if aura.missingAlpha == nil then
+				aura.missingAlpha = self.missingAlpha
 			end
-			if icon.fromUnits == nil then
-				icon.fromUnits = watch.fromUnits or PLAYER_UNITS
+			if aura.fromUnits == nil then
+				aura.fromUnits = self.fromUnits or PLAYER_UNITS
 			end
-			if icon.anyUnit == nil then
-				icon.anyUnit = watch.anyUnit
+			if aura.anyUnit == nil then
+				aura.anyUnit = self.anyUnit
 			end

-			if watch.strictMatching then
-				watch.watched[icon.spellID] = icon
+			if self.strictMatching then
+				self.Active[aura.spellID] = aura
 			else
-				watch.watched[name..image] = icon
+				self.Active[name..image] = aura
 			end

-			if watch.PostCreateIcon then watch:PostCreateIcon(icon, icon.spellID, name, self) end
-		else
-			print("oUF_AuraWatch error: no spell with "..tostring(icon.spellID).." spell ID exists")
+			if self.PostCreateIcon then self:PostCreateIcon(aura, aura.spellID, name, self) end
+		--else
+			--print("oUF_AuraWatch error: no spell with "..tostring(aura.spellID).." spell ID exists")
 		end
 	end
 end

-local function Enable(self)
-	if self.AuraWatch then
-		self.AuraWatch.Update = setupIcons
+local ForceUpdate = function(self)
+	if self.PreForcedUpdate then self:PreForcedUpdate() end
+	local frame = self:GetParent()
+
+	if(not self.watchEnabled) then
+		self:Hide();
+		return;
+	else
+		self:Show();
+	end
+
+	local watchsize = self.watchSize;
+	local watchfilter = self.watchFilter;
+
+	if(watchfilter) then
+		if self.Cache then
+			for i = 1, #self.Cache do
+				local iconTest = false;
+				for id, data in pairs(watchfilter) do
+					if(data.id and (data.id == self.Cache[i])) then
+						iconTest = true;
+						break
+					end
+				end
+				if not iconTest then
+					self.Cache[i]:Hide()
+					self.Cache[i] = nil
+				end
+			end
+		end
+
+		for stringID, data in pairs(watchfilter) do
+			local id = data.id;
+			local buffName, _, buffTexture = GetSpellInfo(id)
+			if buffName then
+				local aura;
+				if not self.Cache[id] then
+					aura = CreateFrame("Frame", nil, self)
+				else
+					aura = self.Cache[id]
+				end
+				aura.name = buffName;
+				aura.image = buffTexture;
+				aura.spellID = id;
+				aura.anyUnit = data.anyUnit;
+				aura.style = data.style or "NONE";
+				aura.onlyShowMissing = data.onlyShowMissing;
+				aura.presentAlpha = aura.onlyShowMissing and 0 or 1;
+				aura.missingAlpha = aura.onlyShowMissing and 1 or 0;
+				aura.textThreshold = data.textThreshold or -1;
+				aura.displayText = data.displayText;
+				aura:SetWidthToScale(watchsize)
+				aura:SetHeightToScale(watchsize)
+				aura:ClearAllPoints()
+
+				aura:SetPoint(data.point, frame.Health, data.point, data.xOffset, data.yOffset)
+				if not aura.icon then
+					aura.icon = aura:CreateTexture(nil, "BORDER")
+					aura.icon:SetAllPoints(aura)
+				end
+				if not aura.border then
+					aura.border = aura:CreateTexture(nil, "BACKGROUND")
+					aura.border:SetPointToScale("TOPLEFT", -1, 1)
+					aura.border:SetPointToScale("BOTTOMRIGHT", 1, -1)
+					aura.border:SetTexture([[Interface\BUTTONS\WHITE8X8]])
+					aura.border:SetVertexColor(0, 0, 0)
+				end
+				if not aura.cd then
+					aura.cd = CreateFrame("Cooldown", nil, aura, "CooldownFrameTemplate")
+					aura.cd:SetAllPoints(aura)
+					aura.cd:SetReverse(true)
+					aura.cd:SetHideCountdownNumbers(true)
+					aura.cd:SetFrameLevel(aura:GetFrameLevel())
+				end
+				if not aura.grip then
+					aura.grip = CreateFrame("Frame", nil, aura);
+					aura.grip:SetAllPoints(aura);
+				end
+				if not aura.text then
+					aura.text = aura.grip:CreateFontString(nil, "BORDER");
+					aura.text:SetFontObject(NumberFontNormal);
+				end
+				if not aura.count then
+					aura.count = aura.grip:CreateFontString(nil, "OVERLAY");
+					aura.count:SetFontObject(NumberFontNormal);
+				end
+
+				if(aura.style == "coloredIcon") then
+					aura.icon:SetTexture([[Interface\BUTTONS\WHITE8X8]])
+					if(data.color) then
+						aura.icon:SetVertexColor(data.color.r, data.color.g, data.color.b)
+					else
+						aura.icon:SetVertexColor(0.8, 0.8, 0.8)
+					end
+					aura.icon:Show()
+					aura.border:Show()
+					aura.cd:SetAlpha(1)
+				elseif(aura.style == "texturedIcon") then
+					aura.icon:SetVertexColor(1, 1, 1)
+					aura.icon:SetTexCoord(.18, .82, .18, .82)
+					aura.icon:SetTexture(aura.image)
+					aura.icon:Show()
+					aura.border:Show()
+					aura.cd:SetAlpha(1)
+				else
+					aura.border:Hide()
+					aura.icon:Hide()
+					aura.cd:SetAlpha(0)
+				end
+
+				if aura.displayText then
+					aura.text:Show()
+					local r, g, b = 1, 1, 1;
+					if(data.textColor) then
+						r, g, b = data.textColor.r, data.textColor.g, data.textColor.b
+					end
+					aura.text:SetTextColor(r, g, b)
+				else
+					aura.text:Hide()
+				end
+
+				aura.text:ClearAllPoints();
+				aura.text:SetPoint(data.point, aura, data.point);
+				aura.count:ClearAllPoints()
+				if aura.displayText then
+					local anchor, relative, x, y = unpack(TEXT_OFFSETS[data.point])
+					aura.count:SetPoint(anchor, aura.text, relative, x, y)
+				else
+					aura.count:SetPoint("CENTER", unpack(COUNT_OFFSETS[data.point]))
+				end
+
+				if(not data.enable) then
+					self.Cache[id] = nil;
+					if self.Active then
+						self.Active[id] = nil
+					end
+					aura:Hide()
+					aura = nil
+				else
+					self.Cache[id] = aura;
+					if self.Active then
+						self.Active[id] = aura
+					end
+				end
+			end
+		end
+	end
+	self:UpdateIcons()
+end
+
+local Enable = function(self)
+	local watch = self.AuraWatch;
+	if watch then
+		watch.__owner = self
+		watch.UpdateIcons = UpdateIcons
+		watch.ForceUpdate = ForceUpdate
+		watch.Cache = {}
+		watch.Active = {}
+
 		self:RegisterEvent("UNIT_AURA", Update)
-		setupIcons(self)
+
+		watch:ForceUpdate()
+
 		return true
 	else
 		return false
 	end
 end

-local function Disable(self)
-	if self.AuraWatch then
+local Disable = function(self)
+	local watch = self.AuraWatch;
+	if watch then
+
 		self:UnregisterEvent("UNIT_AURA", Update)
-		for _,icon in pairs(self.AuraWatch.icons) do
+
+		for _,icon in pairs(watch.Cache) do
 			icon:Hide()
 		end
 	end
 end
+
 oUF:AddElement("AuraWatch", Update, Enable, Disable)
diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_HyperCombo/oUF_HyperCombo.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_HyperCombo/oUF_HyperCombo.lua
index bd6361e..cad70cc 100644
--- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_HyperCombo/oUF_HyperCombo.lua
+++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_HyperCombo/oUF_HyperCombo.lua
@@ -63,16 +63,6 @@ local function UpdateGuile()
 	end
 end

-local function FivePointsAlarm(points)
-	if not CombatText_AddMessage then return end
-	if(points == 5 and not ALERTED) then
-		CombatText_AddMessage("5 Points", CombatText_StandardScroll, 0.1, 0.5, 1, "crit")
-		ALERTED = true
-	elseif(ALERTED and points < 5) then
-		ALERTED = false
-	end
-end
-
 local Update = function(self, event, unit)
 	if(unit == 'pet') then return end
 	local bar = self.HyperCombo;
@@ -84,9 +74,9 @@ local Update = function(self, event, unit)

 	local current = 0
 	if(UnitHasVehicleUI'player') then
-		current = GetComboPoints('vehicle', 'target')
+		current = GetComboPoints('vehicle')
 	else
-		current = GetComboPoints('player', 'target')
+		current = GetComboPoints('player')
 	end

 	local anti = select(4, UnitBuff("player", ANTICIPATION)) -- Anticipation stacks
@@ -104,8 +94,9 @@ local Update = function(self, event, unit)
 					bar.PointHide(cpoints[i], i)
 				end
 			end
-			if(anti and cpoints[i].Anticipation) then
-				if(i <= anti) then
+			if(cpoints[i].Anticipation) then
+				anti = anti or 0
+				if(i <= anti and (current > 0)) then
 					cpoints[i].Anticipation:Show()
 				else
 					cpoints[i].Anticipation:Hide()
@@ -125,10 +116,6 @@ local Update = function(self, event, unit)
 		end
 	end

-	if(current > 0) then
-		FivePointsAlarm(current)
-	end
-
 	if(bar.PostUpdate) then
 		return bar:PostUpdate(current)
 	end
diff --git a/Interface/AddOns/SVUI/packages/aura/SVAura.lua b/Interface/AddOns/SVUI/packages/aura/SVAura.lua
index b5460de..3adf281 100644
--- a/Interface/AddOns/SVUI/packages/aura/SVAura.lua
+++ b/Interface/AddOns/SVUI/packages/aura/SVAura.lua
@@ -291,11 +291,11 @@ do

 		aura.count = aura:CreateFontString(nil, "ARTWORK")
 		aura.count:SetPoint("BOTTOMRIGHT", (-1 + SV.db.SVAura.countOffsetH), (1 + SV.db.SVAura.countOffsetV))
-		aura.count:FontManager("aura")
+		aura.count:SetFontObject(SVUI_Font_Aura)

 		aura.time = aura:CreateFontString(nil, "ARTWORK")
 		aura.time:SetPoint("TOP", aura, "BOTTOM", 1 + SV.db.SVAura.timeOffsetH, 0 + SV.db.SVAura.timeOffsetV)
-		aura.time:FontManager("aura")
+		aura.time:SetFontObject(SVUI_Font_Aura)

 		aura.highlight = aura:CreateTexture(nil, "HIGHLIGHT")
 		aura.highlight:SetTexture(BASIC_TEXTURE)
diff --git a/Interface/AddOns/SVUI/packages/bag/SVBag.lua b/Interface/AddOns/SVUI/packages/bag/SVBag.lua
index 39cc496..96aaa64 100644
--- a/Interface/AddOns/SVUI/packages/bag/SVBag.lua
+++ b/Interface/AddOns/SVUI/packages/bag/SVBag.lua
@@ -346,7 +346,7 @@ local SlotUpdate = function(self, slotID)

 	CooldownFrame_SetTimer(slot.cooldown, start, duration, enable);

-	if(duration > 0 and enable == 0) then
+	if((duration > 0) and (enable == 0)) then
 		SetItemButtonTextureVertexColor(slot, 0.4, 0.4, 0.4)
 	else
 		SetItemButtonTextureVertexColor(slot, 1, 1, 1)
@@ -667,7 +667,7 @@ local ContainerFrame_UpdateLayout = function(self)

 				if(SV.db.SVGear.misc.setoverlay and (not slot.GearInfo)) then
 					slot.GearInfo = slot:CreateFontString(nil,"OVERLAY")
-					slot.GearInfo:FontManager("default")
+					slot.GearInfo:SetFontObject(SVUI_Font_Default)
 					slot.GearInfo:SetAllPoints(slot)
 					slot.GearInfo:SetWordWrap(true)
 					slot.GearInfo:SetJustifyH('LEFT')
@@ -996,7 +996,7 @@ do
 		MainMenuBarBackpackButton:SetParent(bar)
 		MainMenuBarBackpackButton.SetParent = SV.Hidden;
 		MainMenuBarBackpackButton:ClearAllPoints()
-		MainMenuBarBackpackButtonCount:FontManager("default")
+		MainMenuBarBackpackButtonCount:SetFontObject(SVUI_Font_Default)
 		MainMenuBarBackpackButtonCount:ClearAllPoints()
 		MainMenuBarBackpackButtonCount:SetPointToScale("BOTTOMRIGHT", MainMenuBarBackpackButton, "BOTTOMRIGHT", -1, 4)
 		MainMenuBarBackpackButton:HookScript("OnEnter", Bags_OnEnter)
@@ -1298,7 +1298,7 @@ do
 		frame.holderFrame:SetPointToScale("BOTTOM", frame, "BOTTOM", 0, frame.bottomOffset)

 		frame.Title = frame:CreateFontString()
-		frame.Title:FontManager("header")
+		frame.Title:SetFontObject(SVUI_Font_Header)
 		frame.Title:SetText(INVENTORY_TOOLTIP)
 		frame.Title:SetPoint("TOPLEFT", frame, "TOPLEFT", 2, -2)
 		frame.Title:SetTextColor(1,0.8,0)
@@ -1309,7 +1309,7 @@ do
 		frame.BagMenu:Hide()

 		frame.goldText = frame:CreateFontString(nil, "OVERLAY")
-		frame.goldText:FontManager("bagnumber")
+		frame.goldText:SetFontObject(SVUI_Font_Bag_Number)
 		frame.goldText:SetPointToScale("BOTTOMRIGHT", frame.holderFrame, "TOPRIGHT", -2, 4)
 		frame.goldText:SetJustifyH("RIGHT")

@@ -1329,7 +1329,7 @@ do
 		frame.editBox:SetScript("OnChar", Search_OnInput)
 		frame.editBox.SearchReset = Search_OnKeyPressed
 		frame.editBox:SetText(SEARCH)
-		frame.editBox:FontManager("bagdialog")
+		frame.editBox:SetFontObject(SVUI_Font_Bag)

 		local searchButton = CreateFrame("Button", nil, frame)
 		searchButton:RegisterForClicks("LeftButtonUp", "RightButtonUp")
@@ -1338,7 +1338,7 @@ do
 		searchButton:SetStylePanel("Button")
 		searchButton:SetScript("OnClick", Search_OnClick)
 		local searchText = searchButton:CreateFontString(nil, "OVERLAY")
-		searchText:FontManager("bagdialog", nil, 0, "NONE")
+		searchText:SetFontObject(SVUI_Font_Bag)
 		searchText:SetAllPoints(searchButton)
 		searchText:SetJustifyH("CENTER")
 		searchText:SetText("|cff9999ff"..SEARCH.."|r")
@@ -1417,7 +1417,7 @@ do
 			frame.currencyButton[h].icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
 			frame.currencyButton[h].text = frame.currencyButton[h]:CreateFontString(nil, "OVERLAY")
 			frame.currencyButton[h].text:SetPointToScale("LEFT", frame.currencyButton[h], "RIGHT", 2, 0)
-			frame.currencyButton[h].text:FontManager("bagnumber")
+			frame.currencyButton[h].text:SetFontObject(SVUI_Font_Bag_Number)
 			frame.currencyButton[h]:SetScript("OnEnter", Token_OnEnter)
 			frame.currencyButton[h]:SetScript("OnLeave", Token_OnLeave)
 			frame.currencyButton[h]:SetScript("OnClick", Token_OnClick)
@@ -1490,7 +1490,7 @@ do
 		frame.holderFrame:SetPointToScale("BOTTOM", frame, "BOTTOM", 0, frame.bottomOffset)

 		frame.Title = frame:CreateFontString()
-		frame.Title:FontManager("header")
+		frame.Title:SetFontObject(SVUI_Font_Header)
 		frame.Title:SetText(isReagent and REAGENT_BANK or BANK or "Bank")
 		frame.Title:SetPoint("TOPLEFT", frame, "TOPLEFT", 2, -2)
 		frame.Title:SetTextColor(1,0.8,0)
diff --git a/Interface/AddOns/SVUI/packages/bar/SVBar.lua b/Interface/AddOns/SVUI/packages/bar/SVBar.lua
index e544d50..ec57338 100644
--- a/Interface/AddOns/SVUI/packages/bar/SVBar.lua
+++ b/Interface/AddOns/SVUI/packages/bar/SVBar.lua
@@ -278,7 +278,7 @@ local function ModifyActionButton(parent)
 		count:ClearAllPoints()
 		count:SetPoint("BOTTOMRIGHT",1,1)
 		count:SetShadowOffset(1,-1)
-		count:FontManager("number")
+		count:SetFontObject(SVUI_Font_Number)
 	end
 	if icon then
 		icon:SetTexCoord(.1,.9,.1,.9)
@@ -288,7 +288,7 @@ local function ModifyActionButton(parent)
 	if SV.db.SVBar.hotkeytext then
 		hotkey:ClearAllPoints()
 		hotkey:SetAllPoints()
-		hotkey:FontManager("default")
+		hotkey:SetFontObject(SVUI_Font_Default)
 		hotkey:SetJustifyH("RIGHT")
     	hotkey:SetJustifyV("TOP")
 		hotkey:SetShadowOffset(1,-1)
diff --git a/Interface/AddOns/SVUI/packages/bar/components/keybind.lua b/Interface/AddOns/SVUI/packages/bar/components/keybind.lua
index b119607..3cc92b8 100644
--- a/Interface/AddOns/SVUI/packages/bar/components/keybind.lua
+++ b/Interface/AddOns/SVUI/packages/bar/components/keybind.lua
@@ -487,7 +487,7 @@ function MOD:LoadKeyBinder()
   moveHandle:SetScript("OnMouseUp", onMouseUp)

   local moveText = moveHandle:CreateFontString("OVERLAY")
-  moveText:FontManager("default")
+  moveText:SetFontObject(SVUI_Font_Default)
   moveText:SetPoint("CENTER", moveHandle, "CENTER")
   moveText:SetText("Key Binds")

diff --git a/Interface/AddOns/SVUI/packages/chat/SVChat.lua b/Interface/AddOns/SVUI/packages/chat/SVChat.lua
index 0d219ac..faee9d6 100644
--- a/Interface/AddOns/SVUI/packages/chat/SVChat.lua
+++ b/Interface/AddOns/SVUI/packages/chat/SVChat.lua
@@ -96,15 +96,9 @@ local CHAT_THROTTLE = 45;
 local CHAT_ALLOW_URL = true;
 local CHAT_HOVER_URL = true;
 local CHAT_STICKY = true;
-local CHAT_FONT = [[Interface\AddOns\SVUI\assets\fonts\Default.ttf]];
-local CHAT_FONTSIZE = 12;
-local CHAT_FONTOUTLINE = "OUTLINE";
 local TAB_WIDTH = 75;
 local TAB_HEIGHT = 20;
 local TAB_SKINS = true;
-local TAB_FONT = [[Interface\AddOns\SVUI\assets\fonts\Caps.ttf]];
-local TAB_FONTSIZE = 11;
-local TAB_FONTOUTLINE = "OUTLINE";
 local CHAT_FADING = false;
 local CHAT_PSST = [[Interface\AddOns\SVUI\assets\sounds\whisper.mp3]];
 local TIME_STAMP_MASK = "NONE";
@@ -146,7 +140,13 @@ LOCAL FUNCTIONS
 ##########################################################
 ]]--
 local ScrollIndicator = CreateFrame("Frame", nil)
-
+local HighLight_OnUpdate = function(self)
+	if(self:IsMouseOver(50, -2, 0, 50)) then
+		self.texture:SetGradientAlpha("HORIZONTAL",0,1,0,0.8,0,0.3,0,0)
+	else
+		self.texture:SetGradientAlpha("HORIZONTAL",0,1,1,0.8,0,0.3,0.3,0)
+	end
+end
 do
 	local EmoteCount = 39;
 	local EmotePatterns = {
@@ -473,10 +473,12 @@ do

 	local Tab_OnDragStart = function(self)
 		MOD.Dock.Highlight:Show()
+		MOD.Dock.Highlight:SetScript("OnUpdate", HighLight_OnUpdate)
 	end

 	local Tab_OnDragStop = function(self)
 		MOD.Dock.Highlight:Hide()
+		MOD.Dock.Highlight:SetScript("OnUpdate", nil)
 	end

 	local EditBox_OnKeyUp = function(self, button)
@@ -587,13 +589,15 @@ do
 	end

 	local function _removeTab(frame,chat)
-		if(not frame or not frame.chatID) then return end
+		if(not frame) then return end
 		local name = frame:GetName();
-		if(not TabSafety[name]) then return end
+		--if(not TabSafety[name]) then return end
 		TabSafety[name] = false;
-		local chatID = frame.chatID;
-		if(TabsList[chatID]) then
-			TabsList[chatID] = nil;
+		if(frame.chatID) then
+			local chatID = frame.chatID;
+			if(TabsList[chatID]) then
+				TabsList[chatID] = nil;
+			end
 		end
 		frame:SetParent(chat)
 		frame:ClearAllPoints()
@@ -672,8 +676,8 @@ do
 		local chatID = chat:GetID();
 		local tabName = chatName.."Tab";
 		local tabText = _G[chatName.."TabText"]
-		chat:FontManager("chatdialog", "LEFT")
-		tabText:FontManager("chattab")
+		SV:FontManager(chat, "chatdialog", "LEFT")
+		SV:FontManager(tabText, "chattab")
 		if(not chat.Panel) then
 			chat:SetStylePanel("Default", "Transparent")
 			chat.Panel:Hide()
@@ -767,7 +771,7 @@ do
 			chat.button:SetStylePanel('Default', 'Headline')

 			chat.button.Title = chat.button:CreateFontString()
-			chat.button.Title:FontManager("chattab")
+			chat.button.Title:SetFontObject(SVUI_Font_ChatTab)
 			chat.button.Title:SetText("copy")
 			chat.button.Title:SetAllPointsIn(chat.button)
 			chat.button.Title:SetTextColor(1,0.8,0)
@@ -825,12 +829,12 @@ do
 				--print("setting size "..id .. " = " ..CHAT_WIDTH)
 				chat:SetSize(CHAT_WIDTH, CHAT_HEIGHT)
 				chat.Panel:Show()
+				tab.owner = chat;
 				if(not TAB_SKINS) then
 					tab.isDocked = chat.isDocked;
 					tab:SetParent(chat)
 					_modifyTab(tab, true)
 				else
-					tab.owner = chat;
 					tab.isDocked = false;
 					if(tab.Holder) then
 						tab.Holder.isDocked = false;
@@ -845,14 +849,12 @@ do
 				chat.Panel:Hide();

 				FCF_SavePositionAndDimensions(chat)
-
+				tab.owner = chat;
 				if(not TAB_SKINS) then
-					tab.owner = chat;
 					tab.isDocked = chat.isDocked;
 					tab:SetParent(MOD.Dock.Bar)
 					_modifyTab(tab, false)
 				else
-					tab.owner = chat;
 					tab.isDocked = true;
 					local arg3 = (chat.inUse or chat.isDocked or chat.isTemporary)
 					if(tab.Holder and arg3) then
@@ -893,7 +895,7 @@ local function _hook_SetTabPosition(chatFrame)
 end

 local function _hook_TabStopDragging(chatFrame)
-	if(MOD.Dock.Highlight:IsMouseOver(10, -10, 0, 10)) then
+	if(MOD.Dock.Highlight:IsMouseOver(50, -2, 0, 50)) then
 		TABS_DIRTY = true;
 		FCF_DockFrame(chatFrame, chatFrame:GetID(), true);
 	end
@@ -1177,6 +1179,7 @@ function MOD:Load()
 	insTex:SetAllPoints()
 	insTex:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Bars\DEFAULT]]);
 	insTex:SetGradientAlpha("HORIZONTAL",0,1,1,0.8,0,0.3,0.3,0)
+	insertHL.texture = insTex
 	insertHL:Hide()

 	self.Dock.Highlight = insertHL
@@ -1236,7 +1239,8 @@ function MOD:Load()
 	SV.Dock:SetSuperDockStyle(frame)

 	frame.Title = frame:CreateFontString()
-	frame.Title:FontManager("header", "LEFT")
+	frame.Title:SetFontObject(SVUI_Font_Header)
+	frame.Title:SetJustifyH('LEFT')
 	frame.Title:SetText("Copy Chat")
 	frame.Title:SetPoint("TOPLEFT", frame, "TOPLEFT", 4, 4)
 	frame.Title:SetTextColor(1,0.8,0)
@@ -1250,7 +1254,8 @@ function MOD:Load()
 	editBox:SetMaxLetters(99999)
 	editBox:EnableMouse(true)
 	editBox:SetAutoFocus(false)
-	editBox:FontManager("chatdialog", "LEFT")
+	editBox:SetFontObject(SVUI_Font_Chat)
+	editBox:SetJustifyH('LEFT')
 	editBox:SetWidth(scrollArea:GetWidth())
 	editBox:SetHeight(200)
 	editBox:SetScript("OnEscapePressed", function() SVUI_CopyChatFrame:Hide() end)
diff --git a/Interface/AddOns/SVUI/packages/gear/SVGear.lua b/Interface/AddOns/SVUI/packages/gear/SVGear.lua
index 51cdcde..35bbf80 100644
--- a/Interface/AddOns/SVUI/packages/gear/SVGear.lua
+++ b/Interface/AddOns/SVUI/packages/gear/SVGear.lua
@@ -148,7 +148,7 @@ local function SetDisplayStats(arg)
 		if(flags[1]) then
 			frame.ItemLevel = frame:CreateFontString(nil, "OVERLAY")
 			frame.ItemLevel:SetPointToScale("BOTTOMRIGHT", frame, "BOTTOMRIGHT", 2, 1)
-			frame.ItemLevel:FontManager("default")
+			frame.ItemLevel:SetFontObject(SVUI_Font_Default)
 		end

 		if(arg == "Character" and flags[2]) then
diff --git a/Interface/AddOns/SVUI/packages/henchmen/SVHenchmen.lua b/Interface/AddOns/SVUI/packages/henchmen/SVHenchmen.lua
index df6e417..0b8b5f5 100644
--- a/Interface/AddOns/SVUI/packages/henchmen/SVHenchmen.lua
+++ b/Interface/AddOns/SVUI/packages/henchmen/SVHenchmen.lua
@@ -419,7 +419,7 @@ local function CreateHenchmenSubOptions(buttonIndex,optionIndex)
 	frame.txt:SetTextColor(1,1,1)
 	frame.txthigh = frame:CreateFontString(nil,"HIGHLIGHT")
 	frame.txthigh:SetAllPointsIn(frame)
-	frame.txthigh:FontManager("default")
+	frame.txthigh:SetFontObject(SVUI_Font_Default)
 	frame.txthigh:SetTextColor(1,1,0)
 	SV.Animate:Slide(frame,500,0)

diff --git a/Interface/AddOns/SVUI/packages/map/SVMap.lua b/Interface/AddOns/SVUI/packages/map/SVMap.lua
index f14cb0b..f180a62 100644
--- a/Interface/AddOns/SVUI/packages/map/SVMap.lua
+++ b/Interface/AddOns/SVUI/packages/map/SVMap.lua
@@ -723,7 +723,8 @@ function MOD:Load()

 	local mapHolder = SVUI_MinimapFrame
 	-- mapHolder:SetParent(SV.Screen);
-	mapHolder:SetFrameStrata("BACKGROUND")
+	mapHolder:SetFrameStrata(Minimap:GetFrameStrata())
+	mapHolder:SetFrameLevel(Minimap:GetFrameLevel() - 1)
 	mapHolder:SetPointToScale("TOPRIGHT", SV.Screen, "TOPRIGHT", -10, -10)
 	mapHolder:SetSizeToScale(MM_WIDTH, MM_HEIGHT)

@@ -809,7 +810,9 @@ function MOD:Load()
 	narr:SetParent(Minimap)

 	narr.Text = narr:CreateFontString(nil, "ARTWORK", nil, 7)
-	narr.Text:FontManager("narrator")
+	narr.Text:SetFontObject(SVUI_Font_Narrator)
+	narr.Text:SetJustifyH("CENTER")
+	narr.Text:SetJustifyV("MIDDLE")
 	narr.Text:SetAllPoints(narr)
 	narr.Text:SetTextColor(1, 1, 1)
 	narr.Text:SetShadowColor(0, 0, 0, 0.3)
@@ -824,7 +827,9 @@ function MOD:Load()
 	zt:SetParent(Minimap)

 	zt.Text = zt:CreateFontString(nil, "ARTWORK", nil, 7)
-	zt.Text:FontManager("narrator", "RIGHT")
+	zt.Text:SetFontObject(SVUI_Font_Narrator)
+	zt.Text:SetJustifyH("RIGHT")
+	zt.Text:SetJustifyV("MIDDLE")
 	zt.Text:SetPointToScale("RIGHT", zt)
 	zt.Text:SetSize(MM_WIDTH, 32)
 	zt.Text:SetTextColor(1, 1, 0)
@@ -879,14 +884,14 @@ function MOD:Load()
 	CoordsHolder.playerXCoords:SetPoint("BOTTOMLEFT", CoordsHolder, "BOTTOMLEFT", 0, 0)
 	CoordsHolder.playerXCoords:SetWidth(70)
 	CoordsHolder.playerXCoords:SetHeight(22)
-	CoordsHolder.playerXCoords:FontManager("number")
+	CoordsHolder.playerXCoords:SetFontObject(SVUI_Font_Number)
 	CoordsHolder.playerXCoords:SetTextColor(cColor.r, cColor.g, cColor.b)

 	CoordsHolder.playerYCoords = CoordsHolder:CreateFontString(nil, "OVERLAY")
 	CoordsHolder.playerYCoords:SetPoint("BOTTOMLEFT", CoordsHolder.playerXCoords, "BOTTOMRIGHT", 4, 0)
 	CoordsHolder.playerXCoords:SetWidth(70)
 	CoordsHolder.playerYCoords:SetHeight(22)
-	CoordsHolder.playerYCoords:FontManager("number")
+	CoordsHolder.playerYCoords:SetFontObject(SVUI_Font_Number)
 	CoordsHolder.playerYCoords:SetTextColor(cColor.r, cColor.g, cColor.b)

 	local calendarButton = CreateFrame("Button", "SVUI_CalendarButton", CoordsHolder)
diff --git a/Interface/AddOns/SVUI/packages/override/components/loot.lua b/Interface/AddOns/SVUI/packages/override/components/loot.lua
index ef86996..0ae6332 100644
--- a/Interface/AddOns/SVUI/packages/override/components/loot.lua
+++ b/Interface/AddOns/SVUI/packages/override/components/loot.lua
@@ -285,7 +285,7 @@ local function MakeSlots(id)
 	slot.count = slot.iconFrame:CreateFontString(nil, "OVERLAY")
 	slot.count:SetJustifyH("RIGHT")
 	slot.count:SetPointToScale("BOTTOMRIGHT", slot.iconFrame, -2, 2)
-	slot.count:FontManager("lootnumber")
+	slot.count:SetFontObject(SVUI_Font_Loot_Number)
 	slot.count:SetText(1)

 	slot.name = slot:CreateFontString(nil, "OVERLAY")
@@ -293,7 +293,7 @@ local function MakeSlots(id)
 	slot.name:SetPoint("LEFT", slot)
 	slot.name:SetPoint("RIGHT", slot.icon, "LEFT")
 	slot.name:SetNonSpaceWrap(true)
-	slot.name:FontManager("lootdialog")
+	slot.name:SetFontObject(SVUI_Font_Loot)

 	slot.drop = slot:CreateTexture(nil, "ARTWORK")
 	slot.drop:SetTexture("Interface\\QuestFrame\\UI-QuestLogTitleHighlight")
@@ -329,7 +329,7 @@ local function CreateRollButton(rollFrame, type, locale, anchor)
 	rollButton:SetScript("OnClick", DoDaRoll)
 	rollButton:SetMotionScriptsWhileDisabled(true)
 	local text = rollButton:CreateFontString(nil, nil)
-	text:FontManager("rolldialog")
+	text:SetFontObject(SVUI_Font_Roll)
 	text:SetPointToScale("CENTER", 0, ((type == 2 and 1) or (type == 0 and -1.2) or 0))
 	return rollButton, text
 end
@@ -383,16 +383,16 @@ local function CreateRollFrame()
 	rollFrame.need,rollFrame.greed,rollFrame.pass,rollFrame.disenchant = needText,greedText,passText,deText;
 	rollFrame.bindText = rollFrame:CreateFontString()
 	rollFrame.bindText:SetPointToScale("LEFT",passButton,"RIGHT",3,1)
-	rollFrame.bindText:FontManager("rollnumber")
+	rollFrame.bindText:SetFontObject(SVUI_Font_Roll_Number)
 	rollFrame.lootText = rollFrame:CreateFontString(nil,"ARTWORK")
-	rollFrame.lootText:FontManager("rollnumber")
+	rollFrame.lootText:SetFontObject(SVUI_Font_Roll_Number)
 	rollFrame.lootText:SetPointToScale("LEFT",rollFrame.bindText,"RIGHT",0,0)
 	rollFrame.lootText:SetPointToScale("RIGHT",rollFrame,"RIGHT",-5,0)
 	rollFrame.lootText:SetSizeToScale(200,10)
 	rollFrame.lootText:SetJustifyH("LEFT")

 	rollFrame.yourRoll = rollFrame:CreateFontString(nil,"ARTWORK")
-	rollFrame.yourRoll:FontManager("rollnumber", "CENTER", 4)
+	rollFrame.yourRoll:SetFontObject(SVUI_Font_Roll_Number)
 	rollFrame.yourRoll:SetSizeToScale(22,22)
 	rollFrame.yourRoll:SetPointToScale("LEFT",rollFrame,"RIGHT",5,0)
 	rollFrame.yourRoll:SetJustifyH("CENTER")
@@ -650,7 +650,7 @@ function MOD:SetLootFrames()

 	SVUI_LootFrame:SetSizeToScale(256, 64);
 	SVUI_LootFrame:SetStylePanel("Fixed", 'Transparent');
-	SVUI_LootFrame.title:FontManager("header")
+	SVUI_LootFrame.title:SetFontObject(SVUI_Font_Header)
 	SV:AddToDisplayAudit(SVUI_LootFrame);
 	SVUI_LootFrame:Hide();

diff --git a/Interface/AddOns/SVUI/packages/override/components/mirror.lua b/Interface/AddOns/SVUI/packages/override/components/mirror.lua
index 8b238b9..717aaaf 100644
--- a/Interface/AddOns/SVUI/packages/override/components/mirror.lua
+++ b/Interface/AddOns/SVUI/packages/override/components/mirror.lua
@@ -111,7 +111,7 @@ local function MirrorBarRegistry(barType)
 	bar:SetScript("OnUpdate", MirrorBar_OnUpdate)
 	local r, g, b = unpack(mirrorTypeColor[barType])
 	bar.text = bar:CreateFontString(nil, 'OVERLAY')
-	bar.text:FontManager("default")
+	bar.text:SetFontObject(SVUI_Font_Default)
 	bar.text:SetJustifyH('CENTER')
 	bar.text:SetTextColor(1, 1, 1)
 	bar.text:SetPoint('LEFT', bar)
@@ -134,7 +134,7 @@ local function SetTimerStyle(bar)
 		if child:GetObjectType() == "Texture"then
 			child:SetTexture(0,0,0,0)
 		elseif child:GetObjectType() == "FontString" then
-			child:FontManager("default")
+			child:SetFontObject(SVUI_Font_Default)
 		end
 	end
 	bar:SetStatusBarTexture([[Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT]])
diff --git a/Interface/AddOns/SVUI/packages/plate/SVPlate.lua b/Interface/AddOns/SVUI/packages/plate/SVPlate.lua
index 83eac9e..2559796 100644
--- a/Interface/AddOns/SVUI/packages/plate/SVPlate.lua
+++ b/Interface/AddOns/SVUI/packages/plate/SVPlate.lua
@@ -921,11 +921,11 @@ do
 	  button.Icon:SetPoint("BOTTOMRIGHT",button,"BOTTOMRIGHT")
 	  button.Icon:SetTexCoord(.1, .9, .2, .8)
 	  button.TimeLeft = button:CreateFontString(nil, 'OVERLAY')
-	  button.TimeLeft:FontManager("plateaura")
+	  button.TimeLeft:SetFontObject(SVUI_Font_NamePlate_Aura)
 	  button.TimeLeft:SetPoint("BOTTOMLEFT",button,"TOPLEFT",-3,-1)
 	  button.TimeLeft:SetJustifyH('CENTER')
 	  button.Stacks = button:CreateFontString(nil,"OVERLAY")
-	  button.Stacks:FontManager("plateaura")
+	  button.Stacks:SetFontObject(SVUI_Font_NamePlate_Aura)
 	  button.Stacks:SetPoint("BOTTOMRIGHT",button,"BOTTOMRIGHT",3,-3)
 	  button:Hide()
 	  return button
@@ -1088,14 +1088,14 @@ do

 	local function UpdateThisPlate(plate)
 		if(not ProxyThisPlate(plate, true)) then return; end
-		SVUI_PLATE.name:FontManager("platename")
+		SVUI_PLATE.name:SetFontObject(SVUI_Font_NamePlate)
 		SVUI_PLATE.name:SetTextColor(1, 1, 1)
-		SVUI_PLATE.level:FontManager("platenumber")
+		SVUI_PLATE.level:SetFontObject(SVUI_Font_NamePlate_Number)
 		if not PLATE_ARGS.scaled and not PLATE_ARGS.tiny then
 			SVUI_PLATE.health:SetSize(HBWidth, HBHeight)
 		end
 		SVUI_PLATE.health:SetStatusBarTexture(SV.Media.bar.default)
-		SVUI_PLATE.health.text:FontManager("platenumber")
+		SVUI_PLATE.health.text:SetFontObject(SVUI_Font_NamePlate_Number)
 		SVUI_PLATE.cast:SetSize(HBWidth, CBHeight)
 		SVUI_PLATE.cast:SetStatusBarTexture(SV.Media.bar.gradient)
 		SVUI_PLATE.cast.text:SetFont(SV.Media.font.default, 8, "OUTLINE")
@@ -1109,8 +1109,8 @@ do
 		SVUI_PLATE.health.icon:SetSize(RISize, RISize)
 		for index = 1, #PLATE_AURAICONS do
 			if PLATE_AURAICONS and PLATE_AURAICONS[index] then
-				PLATE_AURAICONS[index].TimeLeft:FontManager("plateaura")
-				PLATE_AURAICONS[index].Stacks:FontManager("plateaura")
+				PLATE_AURAICONS[index].TimeLeft:SetFontObject(SVUI_Font_NamePlate_Aura)
+				PLATE_AURAICONS[index].Stacks:SetFontObject(SVUI_Font_NamePlate_Aura)
 				PLATE_AURAICONS[index].Icon:SetTexCoord(.07, 0.93, .23, 0.77)
 			end
 		end
diff --git a/Interface/AddOns/SVUI/packages/quest/SVQuest.lua b/Interface/AddOns/SVUI/packages/quest/SVQuest.lua
index 5c099dc..52bd10d 100644
--- a/Interface/AddOns/SVUI/packages/quest/SVQuest.lua
+++ b/Interface/AddOns/SVUI/packages/quest/SVQuest.lua
@@ -216,7 +216,7 @@ local OBJECTIVE_GetStatus = function(self)

 		status.Label = status.Bar:CreateFontString(nil,"OVERLAY");
 		status.Label:SetAllPointsIn(status.Bar);
-		status.Label:FontManager("questnumber")
+		status.Label:SetFontObject(SVUI_Font_Quest_Number)
 		status.Label:SetTextColor(1,1,1)
 		status.Label:SetText('')

@@ -254,7 +254,8 @@ function MOD:NewObjectiveRow(header, index)
 	objective.Text:SetPoint("TOPLEFT", objective, "TOPLEFT", 20 + 6, -2);
 	objective.Text:SetPoint("TOPRIGHT", objective, "TOPRIGHT", 0, -2);
 	objective.Text:SetHeightToScale(INNER_HEIGHT);
-	objective.Text:FontManager("questdialog", "LEFT");
+	objective.Text:SetFontObject(SVUI_Font_Quest);
+	objective.Text:SetJustifyH('LEFT')
 	objective.Text:SetTextColor(0.6,0.6,0.6);
 	objective.Text:SetText('');

diff --git a/Interface/AddOns/SVUI/packages/quest/components/achievements.lua b/Interface/AddOns/SVUI/packages/quest/components/achievements.lua
index daa4c01..dfb486d 100644
--- a/Interface/AddOns/SVUI/packages/quest/components/achievements.lua
+++ b/Interface/AddOns/SVUI/packages/quest/components/achievements.lua
@@ -143,7 +143,8 @@ local GetAchievementRow = function(self, index)
 		row.Header:SetPoint("TOPRIGHT", row, "TOPRIGHT", -2, 0);
 		row.Header:SetHeightToScale(INNER_HEIGHT);
 		row.Header.Text = row.Header:CreateFontString(nil,"OVERLAY")
-		row.Header.Text:FontManager("questdialog", "LEFT");
+		row.Header.Text:SetFontObject(SVUI_Font_Quest);
+		row.Header.Text:SetJustifyH('LEFT')
 		row.Header.Text:SetTextColor(1,1,0)
 		row.Header.Text:SetText('')
 		row.Header.Text:SetPoint("TOPLEFT", row.Header, "TOPLEFT", 4, 0);
@@ -313,7 +314,8 @@ function MOD:InitializeAchievements()
 	achievements.Header.Text = achievements.Header:CreateFontString(nil,"OVERLAY")
 	achievements.Header.Text:SetPoint("TOPLEFT", achievements.Header, "TOPLEFT", 2, 0);
 	achievements.Header.Text:SetPoint("BOTTOMLEFT", achievements.Header, "BOTTOMLEFT", 2, 0);
-	achievements.Header.Text:FontManager("questheader", "LEFT");
+	achievements.Header.Text:SetFontObject(SVUI_Font_Quest_Header);
+	achievements.Header.Text:SetJustifyH('LEFT')
 	achievements.Header.Text:SetTextColor(0.28,0.75,1)
 	achievements.Header.Text:SetText(TRACKER_HEADER_ACHIEVEMENTS)

diff --git a/Interface/AddOns/SVUI/packages/quest/components/active.lua b/Interface/AddOns/SVUI/packages/quest/components/active.lua
index 2bd50cf..e3eba2b 100644
--- a/Interface/AddOns/SVUI/packages/quest/components/active.lua
+++ b/Interface/AddOns/SVUI/packages/quest/components/active.lua
@@ -345,7 +345,8 @@ function MOD:InitializeActive()
 	block.Top.Text = block.Top:CreateFontString(nil,"OVERLAY")
 	block.Top.Text:SetPoint("TOPLEFT", block.Top, "TOPLEFT", 2, 0);
 	block.Top.Text:SetPoint("BOTTOMLEFT", block.Top, "BOTTOMLEFT", 2, 0);
-	block.Top.Text:FontManager("questheader", "LEFT");
+	block.Top.Text:SetFontObject(SVUI_Font_Quest_Header);
+	block.Top.Text:SetJustifyH('LEFT')
 	block.Top.Text:SetTextColor(0.28,0.75,1)
 	block.Top.Text:SetText("Now Tracking...")

@@ -397,13 +398,15 @@ function MOD:InitializeActive()
 	block.Header:SetStylePanel("Default", "Headline")

 	block.Header.Level = block.Header:CreateFontString(nil,"OVERLAY")
-	block.Header.Level:FontManager("questdialog", "LEFT");
+	block.Header.Level:SetFontObject(SVUI_Font_Quest);
+	block.Header.Level:SetJustifyH('LEFT')
 	block.Header.Level:SetText('')
 	block.Header.Level:SetPointToScale("TOPLEFT", block.Header, "TOPLEFT", 4, 0);
 	block.Header.Level:SetPointToScale("BOTTOMLEFT", block.Header, "BOTTOMLEFT", 4, 0);

 	block.Header.Text = block.Header:CreateFontString(nil,"OVERLAY")
-	block.Header.Text:FontManager("questdialog", "LEFT");
+	block.Header.Text:SetFontObject(SVUI_Font_Quest);
+	block.Header.Text:SetJustifyH('LEFT')
 	block.Header.Text:SetTextColor(1,1,0)
 	block.Header.Text:SetText('')
 	block.Header.Text:SetPointToScale("TOPLEFT", block.Header.Level, "TOPRIGHT", 4, 0);
diff --git a/Interface/AddOns/SVUI/packages/quest/components/bonus.lua b/Interface/AddOns/SVUI/packages/quest/components/bonus.lua
index c157265..eef9c7c 100644
--- a/Interface/AddOns/SVUI/packages/quest/components/bonus.lua
+++ b/Interface/AddOns/SVUI/packages/quest/components/bonus.lua
@@ -212,7 +212,8 @@ local GetBonusRow = function(self, index)
 		row.Header:SetHeightToScale(INNER_HEIGHT);

 		row.Header.Text = row.Header:CreateFontString(nil,"OVERLAY")
-		row.Header.Text:FontManager("questheader", "LEFT");
+		row.Header.Text:SetFontObject(SVUI_Font_Quest_Header);
+		row.Header.Text:SetJustifyH('LEFT')
 		row.Header.Text:SetTextColor(0.2,0.75,1)
 		row.Header.Text:SetText('')
 		row.Header.Text:SetPointToScale("TOPLEFT", row.Header, "TOPLEFT", 0, 0);
@@ -323,7 +324,6 @@ end
 local UpdateBonusObjectives = function(self)
 	local fill_height = 0;
 	local rows = 0;
-	local ALL_EXIST = true;

 	if(C_Scenario.IsInScenario()) then
 		local tblBonusSteps = C_Scenario.GetBonusSteps();
@@ -366,9 +366,6 @@ local UpdateBonusObjectives = function(self)
 			if(not COMPLETED_BONUS_DATA[questID]) then
 				local isInArea, isOnMap, numObjectives = GetCachedTaskInfo(questID);
 				local existingTask = CACHED_BONUS_DATA[questID]
-				if(not existingTask) then
-					ALL_EXIST = false;
-				end
 				if(isInArea or (isOnMap and existingTask)) then
 					local add_height = 0;
 					rows, add_height = self:SetBonus(rows, questID, numObjectives)
@@ -385,7 +382,7 @@ local UpdateBonusObjectives = function(self)
 	else
 		self:SetHeightToScale(fill_height + 2);
 		self:FadeIn();
-		if(not ALL_EXIST) then
+		if(not CACHED_BONUS_DATA[questID]) then
 			PlaySound("UI_Scenario_Stage_End");
 			--PlaySoundKitID(45142);
 		end
diff --git a/Interface/AddOns/SVUI/packages/quest/components/popups.lua b/Interface/AddOns/SVUI/packages/quest/components/popups.lua
index ec0df4c..0023342 100644
--- a/Interface/AddOns/SVUI/packages/quest/components/popups.lua
+++ b/Interface/AddOns/SVUI/packages/quest/components/popups.lua
@@ -121,7 +121,8 @@ local GetPopUpRow = function(self, index)
 		row.Header:SetPointToScale("BOTTOMRIGHT", row.Button, "BOTTOMRIGHT", -2, 2);
 		row.Header:SetStylePanel("Default")
 		row.Header.Text = row.Header:CreateFontString(nil,"OVERLAY")
-		row.Header.Text:FontManager("questdialog", "LEFT");
+		row.Header.Text:SetFontObject(SVUI_Font_Quest);
+		row.Header.Text:SetJustifyH('LEFT')
 		row.Header.Text:SetTextColor(1,1,0)
 		row.Header.Text:SetText('')
 		row.Header.Text:SetPointToScale("TOPLEFT", row.Header, "TOPLEFT", 0, 0);
diff --git a/Interface/AddOns/SVUI/packages/quest/components/quests.lua b/Interface/AddOns/SVUI/packages/quest/components/quests.lua
index f1a123f..68b3bda 100644
--- a/Interface/AddOns/SVUI/packages/quest/components/quests.lua
+++ b/Interface/AddOns/SVUI/packages/quest/components/quests.lua
@@ -408,13 +408,15 @@ local GetQuestRow = function(self, index)
 		row.Header:SetHeightToScale(INNER_HEIGHT);

 		row.Header.Level = row.Header:CreateFontString(nil,"OVERLAY")
-		row.Header.Level:FontManager("questnumber", "RIGHT");
+		row.Header.Level:SetFontObject(SVUI_Font_Quest_Number);
+		row.Header.Level:SetJustifyH('RIGHT')
 		row.Header.Level:SetText('')
 		row.Header.Level:SetPoint("TOPRIGHT", row.Header, "TOPRIGHT", -4, 0);
 		row.Header.Level:SetPoint("BOTTOMRIGHT", row.Header, "BOTTOMRIGHT", -4, 0);

 		row.Header.Text = row.Header:CreateFontString(nil,"OVERLAY")
-		row.Header.Text:FontManager("questdialog", "LEFT");
+		row.Header.Text:SetFontObject(SVUI_Font_Quest);
+		row.Header.Text:SetJustifyH('LEFT')
 		row.Header.Text:SetTextColor(1,1,0)
 		row.Header.Text:SetText('')
 		row.Header.Text:SetPoint("TOPLEFT", row.Header, "TOPLEFT", 4, 0);
@@ -422,7 +424,8 @@ local GetQuestRow = function(self, index)

 		row.Header.Zone = row:CreateFontString(nil,"OVERLAY")
 		row.Header.Zone:SetAllPoints(row);
-		row.Header.Zone:FontManager("questdialog", "LEFT");
+		row.Header.Zone:SetFontObject(SVUI_Font_Quest);
+		row.Header.Zone:SetJustifyH('LEFT')
 		row.Header.Zone:SetTextColor(0.75,0.25,1)
 		row.Header.Zone:SetText("")

@@ -483,7 +486,7 @@ local GetQuestRow = function(self, index)

 		row.Timer.TimeLeft = row.Timer.Bar:CreateFontString(nil,"OVERLAY");
 		row.Timer.TimeLeft:SetAllPointsIn(row.Timer.Bar);
-		row.Timer.TimeLeft:FontManager("questnumber");
+		row.Timer.TimeLeft:SetFontObject(SVUI_Font_Quest_Number);
 		row.Timer.TimeLeft:SetTextColor(1,1,1)
 		row.Timer.TimeLeft:SetText('')

@@ -787,7 +790,8 @@ function MOD:InitializeQuests()
 	quests.Header.Text = quests.Header:CreateFontString(nil,"OVERLAY")
 	quests.Header.Text:SetPoint("TOPLEFT", quests.Header, "TOPLEFT", 2, 0);
 	quests.Header.Text:SetPoint("BOTTOMLEFT", quests.Header, "BOTTOMLEFT", 2, 0);
-	quests.Header.Text:FontManager("questheader", "LEFT");
+	quests.Header.Text:SetFontObject(SVUI_Font_Quest_Header);
+	quests.Header.Text:SetJustifyH('LEFT')
 	quests.Header.Text:SetTextColor(0.28,0.75,1)
 	quests.Header.Text:SetText(TRACKER_HEADER_QUESTS)

diff --git a/Interface/AddOns/SVUI/packages/quest/components/scenario.lua b/Interface/AddOns/SVUI/packages/quest/components/scenario.lua
index c5f51c0..8475245 100644
--- a/Interface/AddOns/SVUI/packages/quest/components/scenario.lua
+++ b/Interface/AddOns/SVUI/packages/quest/components/scenario.lua
@@ -382,20 +382,22 @@ function MOD:InitializeScenarios()
 	block.Header:SetStylePanel("Default")

 	block.Header.Stage = block.Header:CreateFontString(nil,"OVERLAY")
-	block.Header.Stage:FontManager("questdialog", "LEFT");
+	block.Header.Stage:SetFontObject(SVUI_Font_Quest);
+	block.Header.Stage:SetJustifyH('LEFT')
 	block.Header.Stage:SetText('')
 	block.Header.Stage:SetPointToScale("TOPLEFT", block.Header, "TOPLEFT", 4, 0);
 	block.Header.Stage:SetPointToScale("BOTTOMLEFT", block.Header, "BOTTOMLEFT", 4, 0);

 	block.Header.Score = block.Header:CreateFontString(nil,"OVERLAY")
-	block.Header.Score:FontManager("questdialog", "RIGHT");
+	block.Header.Score:SetFontObject(SVUI_Font_Quest);
+	block.Header.Score:SetJustifyH('RIGHT')
 	block.Header.Score:SetTextColor(1,1,0)
 	block.Header.Score:SetText('')
 	block.Header.Score:SetPointToScale("TOPRIGHT", block.Header, "TOPRIGHT", -2, 0);
 	block.Header.Score:SetPointToScale("BOTTOMRIGHT", block.Header, "BOTTOMRIGHT", -2, 0);

 	block.Header.Text = block.Header:CreateFontString(nil,"OVERLAY")
-	block.Header.Text:FontManager("questdialog");
+	block.Header.Text:SetFontObject(SVUI_Font_Quest);
 	block.Header.Text:SetTextColor(1,1,0)
 	block.Header.Text:SetText('')
 	block.Header.Text:SetPointToScale("TOPLEFT", block.Header.Stage, "TOPRIGHT", 4, 0);
@@ -424,14 +426,15 @@ function MOD:InitializeScenarios()
 	timer.Bar.Wave = timer.Bar:CreateFontString(nil,"OVERLAY")
 	timer.Bar.Wave:SetPointToScale("TOPLEFT", timer.Bar, "TOPLEFT", 4, 0);
 	timer.Bar.Wave:SetPointToScale("BOTTOMLEFT", timer.Bar, "BOTTOMLEFT", 4, 0);
-	timer.Bar.Wave:FontManager("questdialog", "LEFT");
+	timer.Bar.Wave:SetFontObject(SVUI_Font_Quest);
+	timer.Bar.Wave:SetJustifyH('LEFT')
 	timer.Bar.Wave:SetTextColor(1,1,0)
 	timer.Bar.Wave:SetText('')

 	timer.Bar.TimeLeft = timer.Bar:CreateFontString(nil,"OVERLAY");
 	timer.Bar.TimeLeft:SetPointToScale("TOPLEFT", timer.Bar.Wave, "TOPRIGHT", 4, 0);
 	timer.Bar.TimeLeft:SetPointToScale("BOTTOMRIGHT", timer.Bar, "BOTTOMRIGHT", 0, 0);
-	timer.Bar.TimeLeft:FontManager("questnumber");
+	timer.Bar.TimeLeft:SetFontObject(SVUI_Font_Quest_Number);
 	timer.Bar.TimeLeft:SetTextColor(1,1,1)
 	timer.Bar.TimeLeft:SetText('')

diff --git a/Interface/AddOns/SVUI/packages/tip/SVTip.lua b/Interface/AddOns/SVUI/packages/tip/SVTip.lua
index 4ff7879..e371cc8 100644
--- a/Interface/AddOns/SVUI/packages/tip/SVTip.lua
+++ b/Interface/AddOns/SVUI/packages/tip/SVTip.lua
@@ -936,7 +936,7 @@ function MOD:Load()
 	GameTooltipStatusBar:SetPoint("BOTTOMRIGHT", GameTooltip.SuperBorder, "BOTTOMRIGHT", -3, 3)
 	GameTooltipStatusBar.text = GameTooltipStatusBar:CreateFontString(nil, "OVERLAY")
 	GameTooltipStatusBar.text:SetPointToScale("CENTER", GameTooltipStatusBar, "CENTER", 0, 0)
-	GameTooltipStatusBar.text:FontManager("default")
+	GameTooltipStatusBar.text:SetFontObject(SVUI_Font_Default)


 	if not GameTooltipStatusBar.border then
diff --git a/Interface/AddOns/SVUI/packages/tool/stats/durability.lua b/Interface/AddOns/SVUI/packages/tool/stats/durability.lua
index f1a2174..69f9247 100644
--- a/Interface/AddOns/SVUI/packages/tool/stats/durability.lua
+++ b/Interface/AddOns/SVUI/packages/tool/stats/durability.lua
@@ -85,7 +85,6 @@ local function Durability_OnEvent(self, ...)
 		self.text:SetAllPoints(self)
 		self.text:SetJustifyH("CENTER")
 		self.barframe:Hide()
-		self.text:FontManager("data")
 	end
 	for slot,name in pairs(inventoryMap)do
 		local slotID = GetInventorySlotInfo(slot)
@@ -106,7 +105,6 @@ local function DurabilityBar_OnEvent(self, ...)
 	if not self.barframe:IsShown() then
 		self.barframe:Show()
 		self.barframe.icon.texture:SetTexture("Interface\\Addons\\SVUI\\assets\\artwork\\Icons\\STAT-DUR")
-		self.text:FontManager("data")
 	end
 	for slot,name in pairs(inventoryMap)do
 		local slotID = GetInventorySlotInfo(slot)
diff --git a/Interface/AddOns/SVUI/packages/tool/stats/experience.lua b/Interface/AddOns/SVUI/packages/tool/stats/experience.lua
index 36b7ee4..ff5a993 100644
--- a/Interface/AddOns/SVUI/packages/tool/stats/experience.lua
+++ b/Interface/AddOns/SVUI/packages/tool/stats/experience.lua
@@ -71,7 +71,6 @@ local function Experience_OnEvent(self, ...)
 		self.text:SetAllPoints(self)
 		self.text:SetJustifyH("CENTER")
 		self.barframe:Hide()
-		self.text:FontManager("data")
 	end
 	local f, g = getUnitXP("player")
 	local h = GetXPExhaustion()
@@ -88,7 +87,6 @@ local function ExperienceBar_OnEvent(self, ...)
 	if (not self.barframe:IsShown())then
 		self.barframe:Show()
 		self.barframe.icon.texture:SetTexture("Interface\\Addons\\SVUI\\assets\\artwork\\Icons\\STAT-XP")
-		self.text:FontManager("data")
 	end
 	if not self.barframe.bar.extra:IsShown() then
 		self.barframe.bar.extra:Show()
diff --git a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua
index 0361cf6..60deeec 100644
--- a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua
+++ b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua
@@ -1107,6 +1107,23 @@ function MOD:RefreshUnitLayout(frame, template)
 			end
 		end
 	end
+
+	--[[ AURA WATCH LAYOUT ]]--
+
+	if(frame.AuraWatch) then
+		if(db.auraWatch) then
+			if db.auraWatch.enable then
+				if not frame:IsElementEnabled('AuraWatch')then
+					frame:EnableElement('AuraWatch')
+				end
+				frame.AuraWatch:ForceUpdate()
+			else
+				if frame:IsElementEnabled('AuraWatch')then
+					frame:DisableElement('AuraWatch')
+				end
+			end
+		end
+	end
 end
 --[[
 ##########################################################
diff --git a/Interface/AddOns/SVUI/packages/unit/elements/auras.lua b/Interface/AddOns/SVUI/packages/unit/elements/auras.lua
index 08fb39e..8038216 100644
--- a/Interface/AddOns/SVUI/packages/unit/elements/auras.lua
+++ b/Interface/AddOns/SVUI/packages/unit/elements/auras.lua
@@ -70,28 +70,6 @@ local AURA_FONT = [[Interface\AddOns\SVUI\assets\fonts\Numbers.ttf]];
 local AURA_FONTSIZE = 11;
 local AURA_OUTLINE = "OUTLINE";
 local BASIC_TEXTURE = [[Interface\AddOns\SVUI\assets\artwork\Bars\DEFAULT]];
-local shadowTex = [[Interface\AddOns\SVUI\assets\artwork\Template\GLOW]];
-local counterOffsets = {
-	["TOPLEFT"] = {6, 1},
-	["TOPRIGHT"] = {-6, 1},
-	["BOTTOMLEFT"] = {6, 1},
-	["BOTTOMRIGHT"] = {-6, 1},
-	["LEFT"] = {6, 1},
-	["RIGHT"] = {-6, 1},
-	["TOP"] = {0, 0},
-	["BOTTOM"] = {0, 0},
-}
-local textCounterOffsets = {
-	["TOPLEFT"] = {"LEFT", "RIGHT", -2, 0},
-	["TOPRIGHT"] = {"RIGHT", "LEFT", 2, 0},
-	["BOTTOMLEFT"] = {"LEFT", "RIGHT", -2, 0},
-	["BOTTOMRIGHT"] = {"RIGHT", "LEFT", 2, 0},
-	["LEFT"] = {"LEFT", "RIGHT", -2, 0},
-	["RIGHT"] = {"RIGHT", "LEFT", 2, 0},
-	["TOP"] = {"RIGHT", "LEFT", 2, 0},
-	["BOTTOM"] = {"RIGHT", "LEFT", 2, 0},
-}
-
 local CanSteal = (SV.class == "MAGE");
 --[[
 ##########################################################
@@ -174,11 +152,11 @@ local CreateAuraIcon = function(icons, index)

     --hooksecurefunc(aura, "SetBackdropBorderColor", _hook_AuraBGBorderColor)

-    local fontgroup = "unitauralarge";
+    local fontgroup = "SVUI_Font_UnitAura_Large";
     if(baseSize < 18) then
-    	fontgroup = "unitaurasmall";
+    	fontgroup = "SVUI_Font_UnitAura_Small";
     elseif(baseSize < 24) then
-    	fontgroup = "unitauramedium";
+    	fontgroup = "SVUI_Font_UnitAura";
     end
     --print(baseSize)
     --print(fontgroup)
@@ -194,12 +172,12 @@ local CreateAuraIcon = function(icons, index)
     fg:SetAllPointsOut(aura, 2, 2)

 	local text = fg:CreateFontString(nil, 'OVERLAY');
-	text:FontManager(fontgroup);
+	text:SetFontObject(_G[fontgroup]);
 	text:SetPoint('CENTER', aura, 'CENTER', 1, 1);
 	text:SetJustifyH('CENTER');

 	local count = fg:CreateFontString(nil, "OVERLAY");
-	count:FontManager(fontgroup);
+	count:SetFontObject(_G[fontgroup]);
 	count:SetPoint("CENTER", aura, "BOTTOMRIGHT", -3, 3);

 	local icon = aura:CreateTexture(nil, "BACKGROUND");
@@ -357,7 +335,7 @@ end

 local PostCreateAuraBars = function(self)
 	self.spelltime = self:CreateFontString(nil, 'ARTWORK')
-	self.spelltime:FontManager("unitauramedium")
+	self.spelltime:SetFontObject(SVUI_Font_UnitAura);
 	self.spelltime:SetTextColor(1 ,1, 1)
 	self.spelltime:SetShadowOffset(1, -1)
   	self.spelltime:SetShadowColor(0, 0, 0)
@@ -366,7 +344,7 @@ local PostCreateAuraBars = function(self)
 	self.spelltime:SetPoint'RIGHT'

 	self.spellname = self:CreateFontString(nil, 'ARTWORK')
-	self.spellname:FontManager("unitaurabar")
+	self.spellname:SetFontObject(SVUI_Font_UnitAura_Bar);
 	self.spellname:SetTextColor(1, 1, 1)
 	self.spellname:SetShadowOffset(1, -1)
   	self.spellname:SetShadowColor(0, 0, 0)
@@ -638,17 +616,6 @@ function MOD:CreateDebuffs(frame, unit)
 	return aura
 end

-function MOD:CreateAuraWatch(frame, unit)
-	local aWatch = CreateFrame("Frame", nil, frame)
-	aWatch:SetFrameLevel(frame:GetFrameLevel()  +  25)
-	aWatch:SetAllPoints(frame)
-	aWatch.presentAlpha = 1;
-	aWatch.missingAlpha = 0;
-	aWatch.strictMatching = true;
-	aWatch.icons = {}
-	return aWatch
-end
-
 function MOD:CreateAuraBarHeader(frame, unit)
 	local auraBarParent = CreateFrame("Frame", nil, frame)
 	auraBarParent.parent = frame;
@@ -667,191 +634,37 @@ function MOD:CreateAuraBarHeader(frame, unit)
 end
 --[[
 ##########################################################
-UPDATE
+AURA WATCH
 ##########################################################
 ]]--
-function MOD:UpdateAuraWatch(frame, key, override)
-	local AW = frame.AuraWatch
-	if not SV.db.SVUnit[key] then return end
-	local db = SV.db.SVUnit[key].auraWatch
-	if not db then return end
-
-	if not db.enable then
-		AW:Hide()
-		return
+local PreForcedUpdate = function(self)
+	local unit = self.___key;
+	if not SV.db.SVUnit[unit] then return end
+	local db = SV.db.SVUnit[unit].auraWatch;
+	if not db then return end;
+	if(unit == "pet" or unit == "raidpet") then
+		self.watchFilter = SV.filters.PetBuffWatch
 	else
-		AW:Show()
+		self.watchFilter = SV.filters.BuffWatch
 	end
+	self.watchEnabled = db.enable;
+	self.watchSize = db.size;
+end

-	local WATCH_CACHE
-
-	if key == "pet" and not override then
-		local petBW = SV.filters["PetBuffWatch"]
-		if(petBW) then
-			WATCH_CACHE = {}
-			for _, buff in pairs(petBW)do
-				if(buff.style == "text") then
-					buff.style = "NONE"
-				end
-				tinsert(WATCH_CACHE, buff)
-			end
-		end
-	else
-		local unitBW = SV.filters["BuffWatch"]
-		if(unitBW) then
-			WATCH_CACHE = {}
-			for _, buff in pairs(unitBW)do
-				if(buff.style == "text") then
-					buff.style = "NONE"
-				end
-				tinsert(WATCH_CACHE, buff)
-			end
-		end
-	end
-
-	if WATCH_CACHE then
-		if AW.icons then
-			for i = 1, #AW.icons do
-				local iconTest = false;
-				for j = 1, #WATCH_CACHE do
-					if(#WATCH_CACHE[j].id and #WATCH_CACHE[j].id == AW.icons[i]) then
-						iconTest = true;
-						break
-					end
-				end
-				if not iconTest then
-					AW.icons[i]:Hide()
-					AW.icons[i] = nil
-				end
-			end
-		end
-
-		for i = 1, #WATCH_CACHE do
-			if WATCH_CACHE[i].id then
-				local buffName, _, buffTexture = GetSpellInfo(WATCH_CACHE[i].id)
-				if buffName then
-					local watchedAura;
-					if not AW.icons[WATCH_CACHE[i].id]then
-						watchedAura = CreateFrame("Frame", nil, AW)
-					else
-						watchedAura = AW.icons[WATCH_CACHE[i].id]
-					end
-					watchedAura.name = buffName;
-					watchedAura.image = buffTexture;
-					watchedAura.spellID = WATCH_CACHE[i].id;
-					watchedAura.anyUnit = WATCH_CACHE[i].anyUnit;
-					watchedAura.style = WATCH_CACHE[i].style;
-					watchedAura.onlyShowMissing = WATCH_CACHE[i].onlyShowMissing;
-					watchedAura.presentAlpha = watchedAura.onlyShowMissing and 0 or 1;
-					watchedAura.missingAlpha = watchedAura.onlyShowMissing and 1 or 0;
-					watchedAura.textThreshold = WATCH_CACHE[i].textThreshold or -1;
-					watchedAura.displayText = WATCH_CACHE[i].displayText;
-					watchedAura:SetWidthToScale(db.size)
-					watchedAura:SetHeightToScale(db.size)
-					watchedAura:ClearAllPoints()
-
-					watchedAura:SetPoint(WATCH_CACHE[i].point, frame.Health, WATCH_CACHE[i].point, WATCH_CACHE[i].xOffset, WATCH_CACHE[i].yOffset)
-					if not watchedAura.icon then
-						watchedAura.icon = watchedAura:CreateTexture(nil, "BORDER")
-						watchedAura.icon:SetAllPoints(watchedAura)
-					end
-					if not watchedAura.text then
-						local awText = CreateFrame("Frame", nil, watchedAura)
-						awText:SetFrameLevel(watchedAura:GetFrameLevel() + 50)
-						watchedAura.text = awText:CreateFontString(nil, "BORDER")
-					end
-					if not watchedAura.border then
-						watchedAura.border = watchedAura:CreateTexture(nil, "BACKGROUND")
-						watchedAura.border:SetPointToScale("TOPLEFT", -1, 1)
-						watchedAura.border:SetPointToScale("BOTTOMRIGHT", 1, -1)
-						watchedAura.border:SetTexture([[Interface\BUTTONS\WHITE8X8]])
-						watchedAura.border:SetVertexColor(0, 0, 0)
-					end
-					if not watchedAura.cd then
-						watchedAura.cd = CreateFrame("Cooldown", nil, watchedAura, "CooldownFrameTemplate")
-						watchedAura.cd:SetAllPoints(watchedAura)
-						watchedAura.cd:SetReverse(true)
-						watchedAura.cd:SetHideCountdownNumbers(true)
-						watchedAura.cd:SetFrameLevel(watchedAura:GetFrameLevel())
-					end
-					if watchedAura.style == "coloredIcon"then
-						watchedAura.icon:SetTexture([[Interface\BUTTONS\WHITE8X8]])
-						if WATCH_CACHE[i]["color"]then
-							watchedAura.icon:SetVertexColor(WATCH_CACHE[i]["color"].r, WATCH_CACHE[i]["color"].g, WATCH_CACHE[i]["color"].b)
-						else
-							watchedAura.icon:SetVertexColor(0.8, 0.8, 0.8)
-						end
-						watchedAura.icon:Show()
-						watchedAura.border:Show()
-						watchedAura.cd:SetAlpha(1)
-					elseif watchedAura.style == "texturedIcon" then
-						watchedAura.icon:SetVertexColor(1, 1, 1)
-						watchedAura.icon:SetTexCoord(.18, .82, .18, .82)
-						watchedAura.icon:SetTexture(watchedAura.image)
-						watchedAura.icon:Show()
-						watchedAura.border:Show()
-						watchedAura.cd:SetAlpha(1)
-					else
-						watchedAura.border:Hide()
-						watchedAura.icon:Hide()
-						watchedAura.cd:SetAlpha(0)
-					end
-					if watchedAura.displayText then
-						watchedAura.text:Show()
-						local r, g, b = 1, 1, 1;
-						if WATCH_CACHE[i].textColor then
-							r, g, b = WATCH_CACHE[i].textColor.r, WATCH_CACHE[i].textColor.g, WATCH_CACHE[i].textColor.b
-						end
-						watchedAura.text:SetTextColor(r, g, b)
-					else
-						watchedAura.text:Hide()
-					end
-					if not watchedAura.count then
-						watchedAura.count = watchedAura:CreateFontString(nil, "OVERLAY")
-					end
-					watchedAura.count:ClearAllPoints()
-					if watchedAura.displayText then
-						local anchor, relative, x, y = unpack(textCounterOffsets[WATCH_CACHE[i].point])
-						watchedAura.count:SetPoint(anchor, watchedAura.text, relative, x, y)
-					else
-						watchedAura.count:SetPoint("CENTER", unpack(counterOffsets[WATCH_CACHE[i].point]))
-					end
-
-					watchedAura.count:FontManager("unitaurasmall");
-					watchedAura.text:FontManager("unitaurasmall");
-
-					watchedAura.text:ClearAllPoints();
-
-					watchedAura.text:SetPoint(WATCH_CACHE[i].point, watchedAura, WATCH_CACHE[i].point)
-					if WATCH_CACHE[i].enabled then
-						AW.icons[WATCH_CACHE[i].id] = watchedAura;
-						if AW.watched then
-							AW.watched[WATCH_CACHE[i].id] = watchedAura
-						end
-					else
-						AW.icons[WATCH_CACHE[i].id] = nil;
-						if AW.watched then
-							AW.watched[WATCH_CACHE[i].id] = nil
-						end
-						watchedAura:Hide()
-						watchedAura = nil
-					end
-				end
-			end
-		end
-
-		WATCH_CACHE = nil
+function MOD:CreateAuraWatch(frame, unit)
+	local watch = CreateFrame("Frame", nil, frame)
+	watch:SetFrameLevel(frame:GetFrameLevel() + 25)
+	watch:SetAllPoints(frame);
+	watch.___key = unit;
+	watch.watchEnabled = true;
+	watch.presentAlpha = 1;
+	watch.missingAlpha = 0;
+	if(unit == "pet" or unit == "raidpet") then
+		watch.watchFilter = SV.filters.PetBuffWatch
+	else
+		watch.watchFilter = SV.filters.BuffWatch
 	end
-	if frame.AuraWatch.Update then
-		frame.AuraWatch.Update(frame)
-	end
-end

-function MOD:UpdateGroupAuraWatch(header, override)
-	assert(self.Headers[header], "Invalid group specified.")
-	local group = self.Headers[header]
-	for i = 1, group:GetNumChildren() do
-		local frame = select(i, group:GetChildren())
-		if frame and frame.Health then self:UpdateAuraWatch(frame, header, override) end
-	end
-end
\ No newline at end of file
+	watch.PreForcedUpdate = PreForcedUpdate
+	return watch
+end
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua b/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua
index ad6b2c1..c751ac9 100644
--- a/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua
+++ b/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua
@@ -548,9 +548,9 @@ function MOD:CreateCastbar(frame, reversed, moverName, ryu, useFader, isBoss, ha
 	local hadouken = CreateFrame("Frame", nil, castbar)

 	if ryu then
-		castbar.Time:FontManager("aura")
+		castbar.Time:SetFontObject(SVUI_Font_Aura)
 		castbar.Time:SetTextColor(1, 1, 1)
-		castbar.Text:FontManager("caps")
+		castbar.Text:SetFontObject(SVUI_Font_Caps)
 		castbar.Text:SetTextColor(1, 1, 1, 0.75)

 		castbar:SetStatusBarTexture(SV.Media.bar.lazer)
@@ -646,11 +646,11 @@ function MOD:CreateCastbar(frame, reversed, moverName, ryu, useFader, isBoss, ha

 		castbar.Text:SetAllPoints(castbar)
 	else
-		castbar.Time:FontManager("aura", "RIGHT")
+		castbar.Time:SetFontObject(SVUI_Font_Aura)
 		castbar.Time:SetTextColor(1, 1, 1, 0.9)
 		castbar.Time:SetPoint("RIGHT", castbar, "LEFT", -1, 0)

-		castbar.Text:FontManager("caps")
+		castbar.Text:SetFontObject(SVUI_Font_Caps)
 		castbar.Text:SetTextColor(1, 1, 1, 0.9)
 		castbar.Text:SetAllPoints(castbar)

diff --git a/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua b/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua
index 42a11a7..a5d0b08 100644
--- a/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua
+++ b/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua
@@ -67,20 +67,20 @@ LOCALS
 ##########################################################
 ]]--
 local FontMapping = {
-	["player"] = "unitprimary",
-	["target"] = "unitprimary",
-	["targettarget"] = "unitsecondary",
-	["pet"] = "unitprimary",
-	["pettarget"] = "unitsecondary",
-	["focus"] = "unitprimary",
-	["focustarget"] = "unitsecondary",
-	["boss"] = "unitprimary",
-	["arena"] = "unitprimary",
-	["party"] = "unitsecondary",
-	["raid"] = "unitsecondary",
-	["raidpet"] = "unitsecondary",
-	["tank"] = "unitsecondary",
-	["assist"] = "unitsecondary",
+	["player"] = "SVUI_Font_Unit",
+	["target"] = "SVUI_Font_Unit",
+	["targettarget"] = "SVUI_Font_Unit_Small",
+	["pet"] = "SVUI_Font_Unit",
+	["pettarget"] = "SVUI_Font_Unit_Small",
+	["focus"] = "SVUI_Font_Unit",
+	["focustarget"] = "SVUI_Font_Unit_Small",
+	["boss"] = "SVUI_Font_Unit",
+	["arena"] = "SVUI_Font_Unit",
+	["party"] = "SVUI_Font_Unit_Small",
+	["raid"] = "SVUI_Font_Unit_Small",
+	["raidpet"] = "SVUI_Font_Unit_Small",
+	["tank"] = "SVUI_Font_Unit_Small",
+	["assist"] = "SVUI_Font_Unit_Small",
 };

 local _hook_ActionPanel_OnSizeChanged = function(self)
@@ -540,7 +540,7 @@ function MOD:SetActionPanel(frame, unit, noHealthText, noPowerText, noMiscText)
 	local fontgroup = FontMapping[unit]
 	if(not noHealthText) then
 		frame.TextGrip.Health = frame.TextGrip:CreateFontString(nil, "OVERLAY")
-		frame.TextGrip.Health:FontManager(fontgroup)
+		frame.TextGrip.Health:SetFontObject(_G[fontgroup])
 		offset = reverse and 2 or -2;
 		direction = reverse and "LEFT" or "RIGHT";
 		frame.TextGrip.Health:SetPointToScale(direction, frame.TextGrip, direction, offset, 0)
@@ -548,7 +548,7 @@ function MOD:SetActionPanel(frame, unit, noHealthText, noPowerText, noMiscText)

 	if(not noPowerText) then
 		frame.TextGrip.Power = frame.TextGrip:CreateFontString(nil, "OVERLAY")
-		frame.TextGrip.Power:FontManager(fontgroup)
+		frame.TextGrip.Power:SetFontObject(_G[fontgroup])
 		offset = reverse and -2 or 2;
 		direction = reverse and "RIGHT" or "LEFT";
 		frame.TextGrip.Power:SetPointToScale(direction, frame.TextGrip, direction, offset, 0)
@@ -556,7 +556,7 @@ function MOD:SetActionPanel(frame, unit, noHealthText, noPowerText, noMiscText)

 	if(not noMiscText) then
 		frame.TextGrip.Misc = frame.TextGrip:CreateFontString(nil, "OVERLAY")
-		frame.TextGrip.Misc:FontManager(fontgroup)
+		frame.TextGrip.Misc:SetFontObject(_G[fontgroup])
 		frame.TextGrip.Misc:SetPointToScale("CENTER", frame, "CENTER", 0, 0)
 	end

@@ -705,7 +705,7 @@ function MOD:CreateAltPowerBar(frame)
 	altPower.text = altPower:CreateFontString(nil, "OVERLAY")
 	altPower.text:SetPoint("CENTER")
 	altPower.text:SetJustifyH("CENTER")
-	altPower.text:FontManager("unitprimary")
+	altPower.text:SetFontObject(SVUI_Font_Unit)
 	altPower.PostUpdate = PostUpdateAltPower;
 	return altPower
 end
diff --git a/Interface/AddOns/SVUI/packages/unit/elements/misc.lua b/Interface/AddOns/SVUI/packages/unit/elements/misc.lua
index df5bb18..dea2c2e 100644
--- a/Interface/AddOns/SVUI/packages/unit/elements/misc.lua
+++ b/Interface/AddOns/SVUI/packages/unit/elements/misc.lua
@@ -101,11 +101,11 @@ function MOD:CreateRaidDebuffs(frame)
 	raidDebuff.icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
 	raidDebuff.icon:SetAllPointsIn(raidDebuff)
 	raidDebuff.count = raidDebuff:CreateFontString(nil, "OVERLAY")
-	raidDebuff.count:FontManager("aura")
+	raidDebuff.count:SetFontObject(SVUI_Font_Aura)
 	raidDebuff.count:SetPoint("BOTTOMRIGHT", 0, 2)
 	raidDebuff.count:SetTextColor(1, .9, 0)
 	raidDebuff.time = raidDebuff:CreateFontString(nil, "OVERLAY")
-	raidDebuff.time:FontManager("aura")
+	raidDebuff.time:SetFontObject(SVUI_Font_Aura)
 	raidDebuff.time:SetPoint("CENTER")
 	raidDebuff.time:SetTextColor(1, .9, 0)
 	raidDebuff:SetParent(frame.TextGrip)
@@ -363,7 +363,7 @@ function MOD:CreateExperienceRepBar(frame)
 		xp.Rested:SetStatusBarColor(1, 0, 1, 0.6)
 		xp.Value = xp:CreateFontString(nil, "TOOLTIP")
 		xp.Value:SetAllPoints(xp)
-		xp.Value:FontManager("default")
+		xp.Value:SetFontObject(SVUI_Font_Default)
 		xp.Value:SetTextColor(0.2, 0.75, 1)
 		xp.Value:SetShadowColor(0, 0, 0, 0)
 		xp.Value:SetShadowOffset(0, 0)
@@ -387,7 +387,7 @@ function MOD:CreateExperienceRepBar(frame)
 		rep.Tooltip = true;
 		rep.Value = rep:CreateFontString(nil, "TOOLTIP")
 		rep.Value:SetAllPoints(rep)
-		rep.Value:FontManager("default")
+		rep.Value:SetFontObject(SVUI_Font_Default)
 		rep.Value:SetTextColor(0.1, 1, 0.2)
 		rep.Value:SetShadowColor(0, 0, 0, 0)
 		rep.Value:SetShadowOffset(0, 0)
@@ -683,7 +683,8 @@ function MOD:CreateResolveBar(frame)
 	bar:SetMinMaxValues(0, 100)
 	bar.text = bar:CreateFontString(nil, "OVERLAY")
 	bar.text:SetPoint("LEFT")
-	bar.text:FontManager("pixel", "LEFT")
+	bar.text:SetFontObject(SVUI_Font_Pixel)
+	bar.text:SetJustifyH('LEFT')
 	bar.text:SetTextColor(0.8, 0.42, 0.09)
 	bar:Hide()
 	resolve.bar = bar;
diff --git a/Interface/AddOns/SVUI/packages/unit/frames.lua b/Interface/AddOns/SVUI/packages/unit/frames.lua
index b01a147..e669757 100644
--- a/Interface/AddOns/SVUI/packages/unit/frames.lua
+++ b/Interface/AddOns/SVUI/packages/unit/frames.lua
@@ -259,7 +259,7 @@ CONSTRUCTORS["player"] = function(self, unit)
     self.RaidIcon = MOD:CreateRaidIcon(self)
     MOD:CreatePlayerIndicators(self)
     self.PvPText = self.TextGrip:CreateFontString(nil,'OVERLAY')
-    self.PvPText:FontManager("dialog")
+    self.PvPText:SetFontObject(SpellFont_Small)
     self.Afflicted = MOD:CreateAfflicted(self)
     self.HealPrediction = MOD:CreateHealPrediction(self, true)
     self.AuraBars = MOD:CreateAuraBarHeader(self, key)
@@ -418,7 +418,6 @@ local UpdatePetFrame = function(self)
             self:SetParent(SVUI_Player)
         end
     end
-    MOD:UpdateAuraWatch(self, "pet")
     self:UpdateAllElements()
 end

@@ -515,7 +514,6 @@ local UpdateFocusFrame = function(self)
         self.XRay:Hide()
     end

-    MOD:UpdateAuraWatch(self, "focus")
     self:UpdateAllElements()
 end

@@ -543,7 +541,7 @@ CONSTRUCTORS["focus"] = function(self, unit)
     self.Buffs = MOD:CreateBuffs(self, key)
     self.Debuffs = MOD:CreateDebuffs(self, key)
     self.AuraBars = MOD:CreateAuraBarHeader(self, key)
-
+    self.AuraWatch = MOD:CreateAuraWatch(self, key)
     self.RaidIcon = MOD:CreateRaidIcon(self)
     self.Range = { insideAlpha = 1, outsideAlpha = 1 }
     self.XRay = MOD:CreateXRay_Closer(self)
diff --git a/Interface/AddOns/SVUI/packages/unit/groups.lua b/Interface/AddOns/SVUI/packages/unit/groups.lua
index 93f7869..6ade93e 100644
--- a/Interface/AddOns/SVUI/packages/unit/groups.lua
+++ b/Interface/AddOns/SVUI/packages/unit/groups.lua
@@ -286,7 +286,6 @@ local PartyUnitUpdate = function(self)
             self:SetSizeToScale(UNIT_WIDTH, UNIT_HEIGHT)
         end
         MOD:RefreshUnitLayout(self, "party")
-        MOD:UpdateAuraWatch(self, "party")
     end
     self:EnableElement('ReadyCheck')
     self:UpdateAllElements()
@@ -423,7 +422,6 @@ local RaidUnitUpdate = function(self)
     end

     MOD.RefreshUnitMedia(self, token)
-    MOD:UpdateAuraWatch(self, token)
     MOD:RefreshUnitLayout(self, token)

     if(token ~= "raidpet") then
diff --git a/Interface/AddOns/SVUI/packages/unit/resources/druid.lua b/Interface/AddOns/SVUI/packages/unit/resources/druid.lua
index c5f822b..bf727e5 100644
--- a/Interface/AddOns/SVUI/packages/unit/resources/druid.lua
+++ b/Interface/AddOns/SVUI/packages/unit/resources/druid.lua
@@ -300,7 +300,7 @@ function MOD:CreateClassBar(playerFrame)
 	mana.bg.multiplier = 0.3;
 	mana.Text = mana.ManaBar:CreateFontString(nil, "OVERLAY")
 	mana.Text:SetAllPoints(mana.ManaBar)
-	mana.Text:FontManager("unitprimary")
+	mana.Text:SetFontObject(SVUI_Font_Unit)

 	bar.Cat = cat;
 	bar.Chicken = chicken;
diff --git a/Interface/AddOns/SVUI/packages/unit/resources/mage.lua b/Interface/AddOns/SVUI/packages/unit/resources/mage.lua
index 7f9310d..ee89507 100644
--- a/Interface/AddOns/SVUI/packages/unit/resources/mage.lua
+++ b/Interface/AddOns/SVUI/packages/unit/resources/mage.lua
@@ -189,7 +189,8 @@ function MOD:CreateClassBar(playerFrame)
 	ignite:SetStatusBarColor(1, 0.2, 0, 0.75)
 	ignite.text = ignite:CreateFontString(nil, "OVERLAY")
 	ignite.text:SetPoint("LEFT")
-	ignite.text:FontManager("unitsecondary", "LEFT")
+	ignite.text:SetFontObject(SVUI_Font_Unit_Small)
+	ignite.text:SetJustifyH('LEFT')
 	ignite.text:SetTextColor(1,1,0)
 	ignite.text:SetText("0")
 	bgFrame.Bar = ignite;
diff --git a/Interface/AddOns/SVUI/packages/unit/resources/priest.lua b/Interface/AddOns/SVUI/packages/unit/resources/priest.lua
index 59bab61..d3e48f5 100644
--- a/Interface/AddOns/SVUI/packages/unit/resources/priest.lua
+++ b/Interface/AddOns/SVUI/packages/unit/resources/priest.lua
@@ -114,7 +114,6 @@ function MOD:CreateClassBar(playerFrame)
 		bar[i].bg = bar[i]:CreateTexture(nil, "BACKGROUND")
 		bar[i].bg:SetAllPoints(bar[i])
 		bar[i].bg:SetTexture(ORB_BG)
-		bar[i].bg:SetTexCoord(0,0.5,0,0.5)

 		local spec = GetSpecialization()
 		local effectName = specEffects[spec]
diff --git a/Interface/AddOns/SVUI/packages/unit/resources/rogue.lua b/Interface/AddOns/SVUI/packages/unit/resources/rogue.lua
index 35a5005..fe14520 100644
--- a/Interface/AddOns/SVUI/packages/unit/resources/rogue.lua
+++ b/Interface/AddOns/SVUI/packages/unit/resources/rogue.lua
@@ -59,8 +59,8 @@ local ICON_COORDS = {
 	{0.5,1,0.5,1},
 };
 local cpointColor = {
-	{0.69,0.31,0.31},
-	{0.69,0.31,0.31},
+	{0.2,1,0},
+	{0.2,1,0},
 	{0.65,0.63,0.35},
 	{0.65,0.63,0.35},
 	{0.33,0.59,0.33}
@@ -91,14 +91,19 @@ local Reposition = function(self)

     local points = bar.Combo;
 	local max = MAX_COMBO_POINTS;
-	local size = height - 4
+	local size = height + 4
 	points:ClearAllPoints()
 	points:SetAllPoints(bar)
 	for i = 1, max do
 		points[i]:ClearAllPoints()
 		points[i]:SetSizeToScale(size, size)
-		points[i].Icon:ClearAllPoints()
-		points[i].Icon:SetAllPoints(points[i])
+		--points[i].Icon:ClearAllPoints()
+		--points[i].Icon:SetAllPoints(points[i])
+
+		points[i].Anticipation:ClearAllPoints()
+		points[i].Anticipation:SetSizeToScale(size + 12, size + 12)
+		points[i].Anticipation:SetPoint("CENTER", points[i])
+
 		if i==1 then
 			points[i]:SetPoint("LEFT", points)
 		else
@@ -145,24 +150,38 @@ function MOD:CreateClassBar(playerFrame)

 	bar.Combo = CreateFrame("Frame",nil,bar)
 	for i = 1, max do
-		local cpoint = CreateFrame('Frame',nil,bar.Combo)
+		local cpoint = CreateFrame('Frame', nil, bar.Combo)
 		cpoint:SetSizeToScale(size,size)

-		local icon = cpoint:CreateTexture(nil,"OVERLAY",nil,1)
-		icon:SetSizeToScale(size,size)
-		icon:SetPoint("CENTER")
-		icon:SetBlendMode("BLEND")
-		icon:SetTexture(ICON_FILE)
+		SV.SpecialFX:SetFXFrame(cpoint, "default")
+
+		-- local icon = cpoint:CreateTexture(nil,"OVERLAY",nil,1)
+		-- icon:SetSizeToScale(size,size)
+		-- icon:SetPoint("CENTER")
+		-- icon:SetBlendMode("BLEND")
+		-- icon:SetTexture(ICON_FILE)
+
+		-- coords = ICON_COORDS[random(2,4)]
+		-- icon:SetTexCoord(coords[1],coords[2],coords[3],coords[4])
+		-- cpoint.Icon = icon
+
+		local anti = CreateFrame('Frame',nil,bar.Combo)
+		anti:SetSizeToScale(size + 12,size + 12)
+		anti:SetPoint("CENTER", cpoint, "CENTER")

-		coords = ICON_COORDS[random(2,4)]
-		icon:SetTexCoord(coords[1],coords[2],coords[3],coords[4])
-		cpoint.Icon = icon
+		local antiicon = anti:CreateTexture(nil,"BACKGROUND",nil,-1)
+		antiicon:SetAllPoints()
+		antiicon:SetBlendMode("BLEND")
+		antiicon:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Template\Alert\ALERT-ICON-BORDER]])
+		antiicon:SetVertexColor(1,1,0,0.5)
+		anti:Hide()
+		cpoint.Anticipation = anti

 		bar.Combo[i] = cpoint
 	end

-	bar.PointShow = ShowPoint;
-	bar.PointHide = HidePoint;
+	--bar.PointShow = ShowPoint;
+	--bar.PointHide = HidePoint;

 	local guile = CreateFrame('Frame',nil,bar)
 	guile:SetFrameStrata("DIALOG")
diff --git a/Interface/AddOns/SVUI/system/core.lua b/Interface/AddOns/SVUI/system/core.lua
index 5680946..c64a1f7 100644
--- a/Interface/AddOns/SVUI/system/core.lua
+++ b/Interface/AddOns/SVUI/system/core.lua
@@ -278,7 +278,7 @@ SVUI.Options = {
     name = "|cff339fffConfig-O-Matic|r",
     args = {
         plugins = {
-            order = -2,
+            order = 9999,
             type = "group",
             name = "Plugins",
             childGroups = "tab",
@@ -550,13 +550,14 @@ function SVUI:Initialize()

     self:UI_SCALE_CHANGED("PLAYER_LOGIN")
     self:PlayerInfoUpdate();
-    self:VersionCheck()
+    self:VersionCheck();
     self:RefreshAllSystemMedia();
-    hooksecurefunc("StaticPopup_Show", self.StaticPopup_Show)
+    hooksecurefunc("StaticPopup_Show", self.StaticPopup_Show);

     SVLib:RefreshModule("SVMap");

-    self.Dock:UpdateAllDocks()
+    self.Dock:UpdateAllDocks();
+    self:SanitizeFilters();

     collectgarbage("collect")

diff --git a/Interface/AddOns/SVUI/system/media.lua b/Interface/AddOns/SVUI/system/media.lua
index 3e254c4..1fc557e 100644
--- a/Interface/AddOns/SVUI/system/media.lua
+++ b/Interface/AddOns/SVUI/system/media.lua
@@ -289,7 +289,11 @@ function SV:HexColor(arg1,arg2,arg3)
     local hexString = ("%02x%02x%02x"):format(r,g,b)
     return hexString
 end
-
+--[[
+##########################################################
+ALTERING GLOBAL FONTS
+##########################################################
+]]--
 local function UpdateChatFontSizes()
   _G.CHAT_FONT_HEIGHTS[1] = 8
   _G.CHAT_FONT_HEIGHTS[2] = 9
@@ -308,126 +312,222 @@ end

 hooksecurefunc("FCF_ResetChatWindows", UpdateChatFontSizes)

-local function SetFont(globalName, template, sizeMod, styleOverride, cR, cG, cB)
-  if(not template) then return end
-  if(not _G[globalName]) then return end
-  styleOverride = styleOverride or "NONE"
-  SV.SetToFontManager(_G[globalName], template, "SYSTEM", sizeMod, styleOverride, cR, cG, cB);
-end
-
-function SV:SetGlobalFonts()
-  local fontsize = self.db.font.default.size;
-  STANDARD_TEXT_FONT = LSM:Fetch("font", self.db.font.default.file);
-  UNIT_NAME_FONT = LSM:Fetch("font", self.db.font.caps.file);
-  DAMAGE_TEXT_FONT = LSM:Fetch("font", self.db.font.combat.file);
+local function ChangeGlobalFonts()
+  local fontsize = SV.db.font.default.size;
+  STANDARD_TEXT_FONT = LSM:Fetch("font", SV.db.font.default.file);
+  UNIT_NAME_FONT = LSM:Fetch("font", SV.db.font.caps.file);
+  DAMAGE_TEXT_FONT = LSM:Fetch("font", SV.db.font.combat.file);
   NAMEPLATE_FONT = STANDARD_TEXT_FONT
   UpdateChatFontSizes()
   UIDROPDOWNMENU_DEFAULT_TEXT_HEIGHT = fontsize
-end
+end
+--[[
+##########################################################
+FONT TEMPLATING METHODS
+##########################################################
+]]--
+local ManagedFonts = {};
+
+function SV:FontManager(obj, template, arg, sizeMod, styleOverride, colorR, colorG, colorB)
+    if not obj then return end
+    template = template or "default";
+    local info = self.db.font[template];
+    if(not info) then return end

-function SV:SetSystemFonts()
-  --SetFont("GameFontNormal", "default", fontsize - 2)
-  SetFont("GameFontWhite", "default", 0, 'OUTLINE', 1, 1, 1)
-  SetFont("GameFontWhiteSmall", "default", 0, 'NONE', 1, 1, 1)
-  SetFont("GameFontBlack", "default", 0, 'NONE', 0, 0, 0)
-  SetFont("GameFontBlackSmall", "default", -1, 'NONE', 0, 0, 0)
-  SetFont("GameFontNormalMed2", "default", 2)
-  --SetFont("GameFontNormalMed1", "default", 0)
-  SetFont("GameFontNormalLarge", "default")
-  SetFont("GameFontHighlightSmall", "default")
-  SetFont("GameFontHighlight", "default", 1)
-  SetFont("GameFontHighlightLeft", "default", 1)
-  SetFont("GameFontHighlightRight", "default", 1)
-  SetFont("GameFontHighlightLarge2", "default", 2)
-  SetFont("SystemFont_Med1", "default")
-  SetFont("SystemFont_Med3", "default")
-  SetFont("SystemFont_Outline_Small", "default", 0, "OUTLINE")
-  SetFont("FriendsFont_Normal", "default")
-  SetFont("FriendsFont_Small", "default")
-  SetFont("FriendsFont_Large", "default", 3)
-  SetFont("FriendsFont_UserText", "default", -1)
-  SetFont("SystemFont_Small", "default", -1)
-  SetFont("GameFontNormalSmall", "default", -1)
-  SetFont("NumberFont_Shadow_Med", "default", -1, "OUTLINE")
-  SetFont("NumberFont_Shadow_Small", "default", -1, "OUTLINE")
-  SetFont("SystemFont_Tiny", "default", -1)
-  SetFont("SystemFont_Shadow_Med1", "default")
-  SetFont("SystemFont_Shadow_Med1_Outline", "default")
-  SetFont("SystemFont_Shadow_Med2", "default")
-  SetFont("SystemFont_Shadow_Med3", "default")
-  SetFont("SystemFont_Large", "default")
-  SetFont("SystemFont_Huge1", "default", 4)
-  SetFont("SystemFont_Huge1_Outline", "default", 4)
-  SetFont("SystemFont_Shadow_Small", "default")
-  SetFont("SystemFont_Shadow_Large", "default", 3)
-
-  SetFont("QuestFont", "dialog");
-  SetFont("QuestFont_Enormous", "zone", 15, "OUTLINE");
-  SetFont("SpellFont_Small", "dialog", 0, "OUTLINE", 1, 1, 1);
-  SetFont("SystemFont_Shadow_Outline_Huge2", "dialog", 14, "OUTLINE");
-
-  SetFont("GameFont_Gigantic", "alert", 0, "OUTLINE", 32)
-  SetFont("SystemFont_Shadow_Huge1", "alert", 0, "OUTLINE")
-  --SetFont("SystemFont_OutlineThick_Huge2", "alert", 0, "THICKOUTLINE")
-
-  SetFont("SystemFont_Shadow_Huge3", "combat", 0, "OUTLINE")
-  SetFont("CombatTextFont", "combat", 20, "OUTLINE")
-
-  SetFont("SystemFont_OutlineThick_Huge4", "zone", 6, "OUTLINE");
-  SetFont("SystemFont_OutlineThick_WTF", "zone", 9, "OUTLINE");
-  SetFont("SystemFont_OutlineThick_WTF2", "zone", 15, "OUTLINE");
-  SetFont("QuestFont_Large", "zone", -3);
-  SetFont("QuestFont_Huge", "zone", -2);
-  SetFont("QuestFont_Super_Huge", "zone");
-  SetFont("SystemFont_OutlineThick_Huge2", "zone", 2, "OUTLINE");
-
-  SetFont("Game18Font", "number", 1)
-  SetFont("Game24Font", "number", 3)
-  SetFont("Game27Font", "number", 5)
-  SetFont("Game30Font", "number_big")
-  SetFont("Game32Font", "number_big", 1)
-
-  SetFont("NumberFont_OutlineThick_Mono_Small", "number", 0, "OUTLINE")
-  SetFont("NumberFont_Outline_Huge", "number_big", 0, "OUTLINE")
-  SetFont("NumberFont_Outline_Large", "number_big", 0, "OUTLINE")
-  SetFont("NumberFont_Outline_Med", "number", 1, "OUTLINE")
-  SetFont("NumberFontNormal", "number", 0, "OUTLINE")
-  SetFont("NumberFont_GameNormal", "number", 0, "OUTLINE")
-  SetFont("NumberFontNormalRight", "number", 0, "OUTLINE")
-  SetFont("NumberFontNormalRightRed", "number", 0, "OUTLINE")
-  SetFont("NumberFontNormalRightYellow", "number", 0, "OUTLINE")
-
-  SetFont("GameTooltipHeader", "tipheader")
-  SetFont("Tooltip_Med", "tipdialog")
-  SetFont("Tooltip_Small", "tipdialog", -1)
+    local isSystemFont = false;
+    if(arg and (arg == 'SYSTEM')) then
+        isSystemFont = true;
+    end
+
+    local file = LSM:Fetch("font", info.file);
+    local size = info.size;
+    local outline = info.outline;
+
+    if(styleOverride) then
+        obj.___fontOutline = styleOverride;
+        outline = styleOverride;
+    end
+
+    obj.___fontSizeMod = sizeMod or 0;
+    obj:SetFont(file, (size + obj.___fontSizeMod), outline)
+
+    if(not isSystemFont) then
+        if(info.outline and info.outline ~= "NONE") then
+            obj:SetShadowColor(0, 0, 0, 0)
+        else
+            obj:SetShadowColor(0, 0, 0, 0.2)
+        end
+        obj:SetShadowOffset(1, -1)
+        obj:SetJustifyH(arg or "CENTER")
+        obj:SetJustifyV("MIDDLE")
+    end
+
+    if(colorR and colorG and colorB) then
+        obj:SetTextColor(colorR, colorG, colorB);
+    end
+
+    if(not ManagedFonts[template]) then
+        ManagedFonts[template] = {}
+    end
+
+    ManagedFonts[template][obj] = true
 end

-function SV:MediaUpdate()
-  self.Media.color.default      = self.db.media.colors.default
-  self.Media.color.special      = self.db.media.colors.special
-  self.Media.color.specialdark  = self.db.media.colors.specialdark
-  self.Media.bg.pattern         = LSM:Fetch("background", self.db.media.textures.pattern)
-  self.Media.bg.comic           = LSM:Fetch("background", self.db.media.textures.comic)
-  self.Media.bg.unitlarge       = LSM:Fetch("background", self.db.media.textures.unitlarge)
-  self.Media.bg.unitsmall       = LSM:Fetch("background", self.db.media.textures.unitsmall)
+local function _alterFont(globalName, template, sizeMod, styleOverride, cR, cG, cB)
+  if(not template) then return end
+  if(not _G[globalName]) then return end
+  styleOverride = styleOverride or "NONE"
+  SV:FontManager(_G[globalName], template, "SYSTEM", sizeMod, styleOverride, cR, cG, cB);
+end

-  local cColor1 = self.Media.color.special
-  local cColor2 = self.Media.color.default
-  local r1,g1,b1 = cColor1[1], cColor1[2], cColor1[3]
-  local r2,g2,b2 = cColor2[1], cColor2[2], cColor2[3]
+local function _defineFont(globalName, template)
+  if(not template) then return end
+  if(not _G[globalName]) then return end
+  SV:FontManager(_G[globalName], template);
+end

-  self.Media.gradient.special = {"VERTICAL",r1,g1,b1,r2,g2,b2}
+local function ChangeSystemFonts()
+  --_alterFont("GameFontNormal", "default", fontsize - 2)
+  _alterFont("GameFontWhite", "default", 0, 'OUTLINE', 1, 1, 1)
+  _alterFont("GameFontWhiteSmall", "default", 0, 'NONE', 1, 1, 1)
+  _alterFont("GameFontBlack", "default", 0, 'NONE', 0, 0, 0)
+  _alterFont("GameFontBlackSmall", "default", -1, 'NONE', 0, 0, 0)
+  _alterFont("GameFontNormalMed2", "default", 2)
+  --_alterFont("GameFontNormalMed1", "default", 0)
+  _alterFont("GameFontNormalLarge", "default")
+  _alterFont("GameFontNormalLargeOutline", "default")
+  _alterFont("GameFontHighlightSmall", "default")
+  _alterFont("GameFontHighlight", "default", 1)
+  _alterFont("GameFontHighlightLeft", "default", 1)
+  _alterFont("GameFontHighlightRight", "default", 1)
+  _alterFont("GameFontHighlightLarge2", "default", 2)
+  _alterFont("SystemFont_Med1", "default")
+  _alterFont("SystemFont_Med3", "default")
+  _alterFont("SystemFont_Outline_Small", "default", 0, "OUTLINE")
+  _alterFont("FriendsFont_Normal", "default")
+  _alterFont("FriendsFont_Small", "default")
+  _alterFont("FriendsFont_Large", "default", 3)
+  _alterFont("FriendsFont_UserText", "default", -1)
+  _alterFont("SystemFont_Small", "default", -1)
+  _alterFont("GameFontNormalSmall", "default", -1)
+  _alterFont("NumberFont_Shadow_Med", "default", -1, "OUTLINE")
+  _alterFont("NumberFont_Shadow_Small", "default", -1, "OUTLINE")
+  _alterFont("SystemFont_Tiny", "default", -1)
+  _alterFont("SystemFont_Shadow_Med1", "default")
+  _alterFont("SystemFont_Shadow_Med1_Outline", "default")
+  _alterFont("SystemFont_Shadow_Med2", "default")
+  _alterFont("SystemFont_Shadow_Med3", "default")
+  _alterFont("SystemFont_Large", "default")
+  _alterFont("SystemFont_Huge1", "default", 4)
+  _alterFont("SystemFont_Huge1_Outline", "default", 4)
+  _alterFont("SystemFont_Shadow_Small", "default")
+  _alterFont("SystemFont_Shadow_Large", "default", 3)
+  _alterFont("QuestFont", "dialog");
+  _alterFont("QuestFont_Enormous", "zone", 15, "OUTLINE");
+  _alterFont("SpellFont_Small", "dialog", 0, "OUTLINE", 1, 1, 1);
+  _alterFont("SystemFont_Shadow_Outline_Large", "title", 0, "OUTLINE");
+  _alterFont("SystemFont_Shadow_Outline_Huge2", "title", 8, "OUTLINE");
+  _alterFont("GameFont_Gigantic", "alert", 0, "OUTLINE", 32)
+  _alterFont("SystemFont_Shadow_Huge1", "alert", 0, "OUTLINE")
+  --_alterFont("SystemFont_OutlineThick_Huge2", "alert", 0, "THICKOUTLINE")
+  _alterFont("SystemFont_Shadow_Huge3", "combat", 0, "OUTLINE")
+  _alterFont("CombatTextFont", "combat", 20, "OUTLINE")
+  _alterFont("SystemFont_OutlineThick_Huge4", "zone", 6, "OUTLINE");
+  _alterFont("SystemFont_OutlineThick_WTF", "zone", 9, "OUTLINE");
+  _alterFont("SystemFont_OutlineThick_WTF2", "zone", 15, "OUTLINE");
+  _alterFont("QuestFont_Large", "zone", -3);
+  _alterFont("QuestFont_Huge", "zone", -2);
+  _alterFont("QuestFont_Super_Huge", "zone");
+  _alterFont("SystemFont_OutlineThick_Huge2", "zone", 2, "OUTLINE");
+  _alterFont("Game18Font", "number", 1)
+  _alterFont("Game24Font", "number", 3)
+  _alterFont("Game27Font", "number", 5)
+  _alterFont("Game30Font", "number_big")
+  _alterFont("Game32Font", "number_big", 1)
+  _alterFont("NumberFont_OutlineThick_Mono_Small", "number", 0, "OUTLINE")
+  _alterFont("NumberFont_Outline_Huge", "number_big", 0, "OUTLINE")
+  _alterFont("NumberFont_Outline_Large", "number", 3, "OUTLINE")
+  _alterFont("NumberFont_Outline_Med", "number", 1, "OUTLINE")
+  _alterFont("NumberFontNormal", "number", 0, "OUTLINE")
+  _alterFont("NumberFont_GameNormal", "number", 0, "OUTLINE")
+  _alterFont("NumberFontNormalRight", "number", 0, "OUTLINE")
+  _alterFont("NumberFontNormalRightRed", "number", 0, "OUTLINE")
+  _alterFont("NumberFontNormalRightYellow", "number", 0, "OUTLINE")
+  _alterFont("GameTooltipHeader", "tipheader")
+  _alterFont("Tooltip_Med", "tipdialog")
+  _alterFont("Tooltip_Small", "tipdialog", -1)
+  --SVUI CUSTOM FONTS
+  _defineFont("SVUI_Font_Default", "default")
+  _defineFont("SVUI_Font_Aura", "aura")
+  _defineFont("SVUI_Font_Number", "number")
+  _defineFont("SVUI_Font_Number_Huge", "number_big")
+  _defineFont("SVUI_Font_Header", "header")
+  _defineFont("SVUI_Font_Data", "data")
+  _defineFont("SVUI_Font_Caps", "caps")
+  _defineFont("SVUI_Font_Narrator", "narrator")
+  _defineFont("SVUI_Font_Pixel", "pixel")
+  _defineFont("SVUI_Font_Quest", "questdialog")
+  _defineFont("SVUI_Font_Quest_Header", "questheader")
+  _defineFont("SVUI_Font_Quest_Number", "questnumber")
+  --_defineFont("SVUI_Font_Chat", "chatdialog", "LEFT")
+  --_defineFont("SVUI_Font_ChatTab", "chattab")
+  _defineFont("SVUI_Font_NamePlate", "platename")
+  _defineFont("SVUI_Font_NamePlate_Aura", "plateaura")
+  _defineFont("SVUI_Font_NamePlate_Number", "platenumber")
+  _defineFont("SVUI_Font_Bag", "bagdialog")
+  _defineFont("SVUI_Font_Bag_Number", "bagnumber")
+  _defineFont("SVUI_Font_Roll", "rolldialog")
+  _defineFont("SVUI_Font_Roll_Number", "rollnumber")
+  _defineFont("SVUI_Font_Loot", "lootdialog")
+  _defineFont("SVUI_Font_Loot_Number", "lootnumber")
+  _defineFont("SVUI_Font_Unit", "unitprimary")
+  _defineFont("SVUI_Font_Unit_Small", "unitsecondary")
+  _defineFont("SVUI_Font_UnitAura", "unitauramedium")
+  _defineFont("SVUI_Font_UnitAura_Bar", "unitaurabar")
+  _defineFont("SVUI_Font_UnitAura_Small", "unitaurasmall")
+  _defineFont("SVUI_Font_UnitAura_Large", "unitauralarge")
+end

-  self.Events:Trigger("SVUI_COLORS_UPDATED");
+local function UpdateFontTemplate(template)
+    template = template or "default";
+    local info = SV.db.font[template];
+    local file = LSM:Fetch("font", info.file);
+    local size = info.size;
+    local line = info.outline;
+    local list = ManagedFonts[template];
+    --local count = 0;
+    if(not list) then return end
+    for object in pairs(list) do
+        if object then
+            if(object.___fontOutline) then
+                object:SetFont(file, (size + object.___fontSizeMod), object.___fontOutline);
+            else
+                object:SetFont(file, (size + object.___fontSizeMod), line);
+            end
+        else
+            ManagedFonts[template][object] = nil;
+        end
+        --count = count + 1;
+    end
+    --print(template .. " = " .. count)
 end

-function SV:RefreshAllSystemMedia()
-  self:SetGlobalFonts();
-  self:MediaUpdate();
-  self:SetSystemFonts();
-  self.Events:Trigger("SVUI_ALLFONTS_UPDATED");
-  self.MediaInitialized = true;
+local function UpdateAllFontTemplates()
+    for template, _ in pairs(ManagedFonts) do
+        UpdateFontTemplate(template)
+    end
+end
+
+local function UpdateFontGroup(...)
+    for i = 1, select('#', ...) do
+        local template = select(i, ...)
+        if not template then break end
+        UpdateFontTemplate(template)
+    end
 end
+
+SV.Events:On("SVUI_ALLFONTS_UPDATED", "UpdateAllFontTemplates", UpdateAllFontTemplates);
+SV.Events:On("SVUI_FONTGROUP_UPDATED", "UpdateFontGroup", UpdateFontGroup);
 --[[
 ##########################################################
 INIT SOME COMBAT FONTS
@@ -456,4 +556,35 @@ do
   local fName, fHeight, fFlags = CombatTextFont:GetFont()

   CombatTextFont:SetFont(fontFile, fHeight, fFlags)
+end
+--[[
+##########################################################
+MEDIA UPDATES
+##########################################################
+]]--
+function SV:MediaUpdate()
+  self.Media.color.default      = self.db.media.colors.default
+  self.Media.color.special      = self.db.media.colors.special
+  self.Media.color.specialdark  = self.db.media.colors.specialdark
+  self.Media.bg.pattern         = LSM:Fetch("background", self.db.media.textures.pattern)
+  self.Media.bg.comic           = LSM:Fetch("background", self.db.media.textures.comic)
+  self.Media.bg.unitlarge       = LSM:Fetch("background", self.db.media.textures.unitlarge)
+  self.Media.bg.unitsmall       = LSM:Fetch("background", self.db.media.textures.unitsmall)
+
+  local cColor1 = self.Media.color.special
+  local cColor2 = self.Media.color.default
+  local r1,g1,b1 = cColor1[1], cColor1[2], cColor1[3]
+  local r2,g2,b2 = cColor2[1], cColor2[2], cColor2[3]
+
+  self.Media.gradient.special = {"VERTICAL",r1,g1,b1,r2,g2,b2}
+
+  self.Events:Trigger("SVUI_COLORS_UPDATED");
+end
+
+function SV:RefreshAllSystemMedia()
+  self:MediaUpdate();
+  ChangeGlobalFonts();
+  ChangeSystemFonts();
+  self.Events:Trigger("SVUI_ALLFONTS_UPDATED");
+  self.MediaInitialized = true;
 end
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/_deprecated.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/_deprecated.lua
deleted file mode 100644
index 65261a7..0000000
--- a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/_deprecated.lua
+++ /dev/null
@@ -1,800 +0,0 @@
---[[
-##############################################################################
-_____/\\\\\\\\\\\____/\\\________/\\\__/\\\________/\\\__/\\\\\\\\\\\_       #
- ___/\\\/////////\\\_\/\\\_______\/\\\_\/\\\_______\/\\\_\/////\\\///__      #
-  __\//\\\______\///__\//\\\______/\\\__\/\\\_______\/\\\_____\/\\\_____     #
-   ___\////\\\__________\//\\\____/\\\___\/\\\_______\/\\\_____\/\\\_____    #
-    ______\////\\\________\//\\\__/\\\____\/\\\_______\/\\\_____\/\\\_____   #
-     _________\////\\\______\//\\\/\\\_____\/\\\_______\/\\\_____\/\\\_____  #
-      __/\\\______\//\\\______\//\\\\\______\//\\\______/\\\______\/\\\_____ #
-       _\///\\\\\\\\\\\/________\//\\\________\///\\\\\\\\\/____/\\\\\\\\\\\_#
-        ___\///////////___________\///___________\/////////_____\///////////_#
-##############################################################################
-S U P E R - V I L L A I N - U I   By: Munglunch                              #
-##############################################################################
-##########################################################
-LOCALIZED LUA FUNCTIONS
-##########################################################
-]]--
---[[ GLOBALS ]]--
-local _G = _G;
-local unpack        = _G.unpack;
-local select        = _G.select;
-local assert        = _G.assert;
-local type          = _G.type;
-local error         = _G.error;
-local pcall         = _G.pcall;
-local print         = _G.print;
-local ipairs        = _G.ipairs;
-local pairs         = _G.pairs;
-local next          = _G.next;
-local rawset        = _G.rawset;
-local rawget        = _G.rawget;
-local tostring      = _G.tostring;
-local tonumber      = _G.tonumber;
-local getmetatable  = _G.getmetatable;
-local setmetatable  = _G.setmetatable;
-local tinsert 	 =  _G.tinsert;
-local table 	 =  _G.table;
---[[ TABLE METHODS ]]--
-local tsort = table.sort;
---[[
-##########################################################
-GET ADDON DATA
-##########################################################
-]]--
-local SV = _G["SVUI"];
-local L = SV.L;
-local MOD = SV.SVUnit
-if(not MOD) then return end
-
-local _, ns = ...;
-local tempFilterTable = {};
-local watchedBuffs = {}
-
-local privateFilters = {
-	["CC"] = "Crowd Control Auras",
-	["Defense"] = "Defensive Auras",
-	["Custom"] = "Custom Filtering",
-}
-
-local publicFilters = {
-	["Player"] = "Player Only Auras",
-	["BlackList"] = "BlackList Auras",
-	["Allowed"] = "Allowed Auras",
-	["Raid"] = "Raid Debuffs",
-	["AuraBars"] = "AuraBar Auras",
-	["BuffWatch"] = "(AuraWatch) Player Buffs",
-	["PetBuffWatch"] = "(AuraWatch) Pet Buffs",
-}
-
-local NONE = _G.NONE;
-local GetSpellInfo = _G.GetSpellInfo;
-local collectgarbage = _G.collectgarbage;
-
-local function generateFilterOptions(filterType, selectedSpell)
-
-	local FILTER
-	if(SV.filters.Custom[filterType]) then
-		FILTER = SV.filters.Custom[filterType]
-	else
-		FILTER = SV.filters[filterType]
-	end
-
-	if((not filterType) or (filterType == "") or (not FILTER)) then
-		SV.Options.args.filters.args.filterGroup = nil;
-		SV.Options.args.filters.args.spellGroup = nil;
-		return
-	end
-
-	local PROTECTED = publicFilters[filterType];
-
-	if(filterType == 'AuraBars') then
-
-		SV.Options.args.filters.args.filterGroup = {
-			type = "group",
-			name = filterType,
-			guiInline = true,
-			order = 10,
-			args = {
-				addSpell = {
-					order = 1,
-					name = L["Add Spell"],
-					desc = L["Add a spell to the filter."],
-					type = "input",
-					guiInline = true,
-					get = function(e)return""end,
-					set = function(e, arg)
-						if not SV.db.media.unitframes.spellcolor[arg] then
-							SV.db.media.unitframes.spellcolor[arg] = false
-						end
-						MOD:SetUnitFrame("player")
-						MOD:SetUnitFrame("target")
-						MOD:SetUnitFrame("focus")
-						generateFilterOptions(filterType, arg)
-					end
-				},
-				removeSpell = {
-					order = 2,
-					name = L["Remove Spell"],
-					desc = L["Remove a spell from the filter."],
-					type = "input",
-					guiInline = true,
-					get = function(e)return""end,
-					set = function(e, arg)
-						if SV.db.media.unitframes.spellcolor[arg]then
-							SV.db.media.unitframes.spellcolor[arg] = false;
-							SV:AddonMessage(L["You may not remove a spell from a default filter that is not customly added. Setting spell to false instead."])
-						else
-							SV.db.media.unitframes.spellcolor[arg] = nil
-						end
-						MOD:SetUnitFrame("player")
-						MOD:SetUnitFrame("target")
-						MOD:SetUnitFrame("focus")
-						generateFilterOptions(filterType)
-					end
-				},
-				selectSpell = {
-					name = L["Select Spell"],
-					type = "select",
-					order = 3,
-					guiInline = true,
-					get = function(e) return selectedSpell end,
-					set = function(e, arg)
-						generateFilterOptions(filterType, arg)
-					end,
-					values = function()
-						wipe(tempFilterTable)
-						tempFilterTable[""] = NONE;
-						for g in pairs(SV.db.media.unitframes.spellcolor)do
-							tempFilterTable[g] = g
-						end
-						return tempFilterTable
-					end
-				}
-			}
-		}
-
-		if not selectedSpell or SV.db.media.unitframes.spellcolor[selectedSpell] == nil then
-			SV.Options.args.filters.args.spellGroup = nil;
-			return
-		end
-
-		SV.Options.args.filters.args.spellGroup = {
-			type = "group",
-			name = selectedSpell,
-			order = 15,
-			guiInline = true,
-			args = {
-				color = {
-					name = L["Color"],
-					type = "color",
-					order = 1,
-					get = function(e)
-						local abColor = SV.db.media.unitframes.spellcolor[selectedSpell]
-						if type(abColor) == "boolean"then
-							return 0, 0, 0, 1
-						else
-							return abColor[1], abColor[2], abColor[3], abColor[4]
-						end
-					end,
-					set = function(e, r, g, b)
-						if type(SV.db.media.unitframes.spellcolor[selectedSpell]) ~= "table"then
-							SV.db.media.unitframes.spellcolor[selectedSpell] = {}
-						end
-						local abColor = {r, g, b}
-						SV.db.media.unitframes.spellcolor[selectedSpell] = abColor
-						MOD:SetUnitFrame("player")
-						MOD:SetUnitFrame("target")
-						MOD:SetUnitFrame("focus")
-					end
-				},
-				removeColor = {
-					type = "execute",
-					order = 2,
-					name = L["Restore Defaults"],
-					func = function(e, arg)
-						SV.db.media.unitframes.spellcolor[selectedSpell] = false;
-						MOD:SetUnitFrame("player")
-						MOD:SetUnitFrame("target")
-						MOD:SetUnitFrame("focus")
-					end
-				}
-			}
-		}
-
-	elseif(filterType == 'PetBuffWatch') then
-
-		wipe(watchedBuffs)
-
-		if not SV.filters.PetBuffWatch then
-			SV.filters.PetBuffWatch = {}
-		end
-
-		for o,f in pairs(SV.filters.PetBuffWatch)do
-			tinsert(watchedBuffs,f)
-		end
-
-		SV.Options.args.filters.args.filterGroup = {
-			type = "group",
-			name = filterType,
-			guiInline = true,
-			order = -10,
-			childGroups = "tab",
-			args = {
-				addSpellID = {
-					order = 1,
-					name = L["Add SpellID"],
-					desc = L["Add a spell to the filter."],
-					type = "input",
-					get = function(e)return""end,
-					set = function(e, arg)
-						if not tonumber(arg) then
-							SV:AddonMessage(L["Value must be a number"])
-						elseif not GetSpellInfo(arg)then
-							SV:AddonMessage(L["Not valid spell id"])
-						else
-							tinsert(SV.filters.PetBuffWatch, {["enable"] = true, ["id"] = tonumber(arg), ["point"] = "TOPRIGHT", ["color"] = {["r"] = 1, ["g"] = 0, ["b"] = 0}, ["anyUnit"] = true})
-							MOD:SetUnitFrame("pet")
-							generateFilterOptions(filterType, selectedSpell)
-						end
-					end
-				},
-				removeSpellID = {
-					order = 2,
-					name = L["Remove SpellID"],
-					desc = L["Remove a spell from the filter."],
-					type = "input",
-					get = function(e)return""end,
-					set = function(e, arg)
-						if not tonumber(arg)then
-							SV:AddonMessage(L["Value must be a number"])
-						elseif not GetSpellInfo(arg)then
-							SV:AddonMessage(L["Not valid spell id"])
-						else
-							local p;
-							for q, r in pairs(SV.filters.PetBuffWatch)do
-								if r["id"] == tonumber(arg)then
-									p = r;
-									if SV.filters.PetBuffWatch[q]then
-										SV.filters.PetBuffWatch[q].enable = false;
-									else
-										SV.filters.PetBuffWatch[q] = nil
-									end
-								end
-							end
-							if p == nil then
-								SV:AddonMessage(L["Spell not found in list."])
-							else
-								generateFilterOptions()
-							end
-						end
-						MOD:SetUnitFrame("pet")
-						generateFilterOptions(filterType, selectedSpell)
-					end
-				},
-				selectSpell = {
-					name = L["Select Spell"],
-					type = "select",
-					order = 3,
-					values = function()
-						local v = {}
-						wipe(watchedBuffs)
-						for o, f in pairs(SV.filters.PetBuffWatch)do
-							tinsert(watchedBuffs, f)
-						end
-						for o, l in pairs(watchedBuffs)do
-							if l.id then
-								local name = GetSpellInfo(l.id)
-								v[l.id] = name
-							end
-						end
-						return v
-					end,
-					get = function(e)return selectedSpell end,
-					set = function(e, arg) generateFilterOptions(filterType, selectedSpell) end
-				}
-			}
-		}
-
-		local registeredSpell;
-
-		for t,l in pairs(SV.filters.PetBuffWatch)do
-			if l.id == selectedSpell then
-				registeredSpell = t
-			end
-		end
-
-		if selectedSpell and registeredSpell then
-			local currentSpell = GetSpellInfo(selectedSpell)
-			SV.Options.args.filters.args.filterGroup.args[currentSpell] = {
-				name = currentSpell.." ("..selectedSpell..")",
-				type = "group",
-				get = function(e)return SV.filters.PetBuffWatch[registeredSpell][e[#e]] end,
-				set = function(e, arg)
-					SV.filters.PetBuffWatch[registeredSpell][e[#e]] = arg;
-					MOD:SetUnitFrame("pet")
-				end,
-				order = -10,
-				args = {
-					enable = {
-						name = L["Enable"],
-						order = 0,
-						type = "toggle"
-					},
-					point = {
-						name = L["Anchor Point"],
-						order = 1,
-						type = "select",
-						values = {
-							["TOPLEFT"] = "TOPLEFT",
-							["TOPRIGHT"] = "TOPRIGHT",
-							["BOTTOMLEFT"] = "BOTTOMLEFT",
-							["BOTTOMRIGHT"] = "BOTTOMRIGHT",
-							["LEFT"] = "LEFT",
-							["RIGHT"] = "RIGHT",
-							["TOP"] = "TOP",
-							["BOTTOM"] = "BOTTOM"
-						}
-					},
-					xOffset = {order = 2, type = "range", name = L["xOffset"], min = -75, max = 75, step = 1},
-					yOffset = {order = 2, type = "range", name = L["yOffset"], min = -75, max = 75, step = 1},
-					style = {
-						name = L["Style"],
-						order = 3,
-						type = "select",
-						values = {["coloredIcon"] = L["Colored Icon"], ["texturedIcon"] = L["Textured Icon"], [""] = NONE}
-					},
-					color = {
-						name = L["Color"],
-						type = "color",
-						order = 4,
-						get = function(e)
-							local abColor = SV.filters.PetBuffWatch[registeredSpell][e[#e]]
-							return abColor.r,  abColor.g,  abColor.b,  abColor.a
-						end,
-						set = function(e, i, j, k)
-							local abColor = SV.filters.PetBuffWatch[registeredSpell][e[#e]]
-							abColor.r,  abColor.g,  abColor.b = i, j, k;
-							MOD:SetUnitFrame("pet")
-						end
-					},
-					displayText = {
-						name = L["Display Text"],
-						type = "toggle",
-						order = 5
-					},
-					textColor = {
-						name = L["Text Color"],
-						type = "color",
-						order = 6,
-						get = function(e)
-							local abColor = SV.filters.PetBuffWatch[registeredSpell][e[#e]]
-							if abColor then
-								return abColor.r,abColor.g,abColor.b,abColor.a
-							else
-								return 1,1,1,1
-							end
-						end,
-						set = function(e,i,j,k)
-							local abColor = SV.filters.PetBuffWatch[registeredSpell][e[#e]]
-							abColor.r,abColor.g,abColor.b = i,j,k;
-							MOD:SetUnitFrame("pet")
-						end
-					},
-					textThreshold = {
-						name = L["Text Threshold"],
-						desc = L["At what point should the text be displayed. Set to -1 to disable."],
-						type = "range",
-						order = 6,
-						min = -1,
-						max = 60,
-						step = 1
-					},
-					anyUnit = {
-						name = L["Show Aura From Other Players"],
-						order = 7,
-						type = "toggle"
-					},
-					onlyShowMissing = {
-						name = L["Show When Not Active"],
-						order = 8,
-						type = "toggle",
-						disabled = function()return SV.filters.PetBuffWatch[registeredSpell].style == "text"end
-					}
-				}
-			}
-		end
-
-	elseif(filterType == 'BuffWatch') then
-
-		if not SV.filters.BuffWatch then
-			SV.filters.BuffWatch = {}
-		end
-		for o,f in pairs(SV.filters.BuffWatch) do
-			tinsert(watchedBuffs,f)
-		end
-
-		SV.Options.args.filters.args.filterGroup = {
-			type = "group",
-			name = filterType,
-			guiInline = true,
-			order = -10,
-			childGroups = "tab",
-			args = {
-				addSpellID = {
-					order = 1,
-					name = L["Add SpellID"],
-					desc = L["Add a spell to the filter."],
-					type = "input",
-					get = function(e)return""end,
-					set = function(e, arg)
-						if(not tonumber(arg)) then
-							SV:AddonMessage(L["Value must be a number"])
-						elseif(not GetSpellInfo(arg)) then
-							SV:AddonMessage(L["Not valid spell id"])
-						else
-							tinsert(SV.filters.BuffWatch, {["enable"] = true, ["id"] = tonumber(arg), ["point"] = "TOPRIGHT", ["color"] = {["r"] = 1, ["g"] = 0, ["b"] = 0}, ["anyUnit"] = false})
-							for t = 10, 40, 15 do
-								MOD:UpdateGroupAuraWatch("raid"..t)
-							end
-							MOD:UpdateGroupAuraWatch("party")
-							MOD:UpdateGroupAuraWatch("raidpet", true)
-							generateFilterOptions(filterType)
-						end
-					end
-				},
-				removeSpellID = {
-					order = 2,
-					name = L["Remove SpellID"],
-					desc = L["Remove a spell from the filter."],
-					type = "input",
-					get = function(e)return""end,
-					set = function(e, arg)
-						if not tonumber(arg)then
-							SV:AddonMessage(L["Value must be a number"])
-						elseif not GetSpellInfo(arg)then
-							SV:AddonMessage(L["Not valid spell id"])
-						else
-							local p;
-							for q, r in pairs(SV.filters.BuffWatch)do
-								if r["id"] == tonumber(arg)then
-									p = r;
-									if SV.filters.BuffWatch[q]then
-										SV.filters.BuffWatch[q].enable = false;
-									else
-										SV.filters.BuffWatch[q] = nil
-									end
-								end
-							end
-							if p == nil then
-								SV:AddonMessage(L["Spell not found in list."])
-							else
-								generateFilterOptions()
-							end
-						end
-						for t = 10, 40, 15 do
-							MOD:UpdateGroupAuraWatch("raid"..t)
-						end
-						MOD:UpdateGroupAuraWatch("party")
-						MOD:UpdateGroupAuraWatch("raidpet", true)
-						generateFilterOptions(filterType)
-					end
-				},
-				selectSpell = {
-					name = L["Select Spell"],
-					type = "select",
-					order = 3,
-					values = function()
-						local v = {}
-						wipe(watchedBuffs)
-						for o, f in pairs(SV.filters.BuffWatch)do
-							tinsert(watchedBuffs, f)
-						end
-						for o, l in pairs(watchedBuffs)do
-							if l.id then
-								local name = GetSpellInfo(l.id)
-								v[l.id] = name
-							end
-						end
-						return v
-					end,
-					get = function(e) return selectedSpell end,
-					set = function(e, arg) generateFilterOptions(filterType, selectedSpell) end
-				}
-			}
-		}
-
-		local registeredSpell;
-
-		for t,l in pairs(SV.filters.BuffWatch)do if l.id==selectedSpell then registeredSpell=t end end
-
-		if selectedSpell and registeredSpell then
-			local currentSpell=GetSpellInfo(selectedSpell)
-			SV.Options.args.filters.args.filterGroup.args[currentSpell] = {
-				name = currentSpell.." ("..selectedSpell..")",
-				type = "group",
-				get = function(e)return SV.filters.BuffWatch[registeredSpell][e[#e]]end,
-				set = function(e, arg)
-					SV.filters.BuffWatch[registeredSpell][e[#e]] = arg;
-					for t = 10, 40, 15 do
-						MOD:UpdateGroupAuraWatch("raid"..t)
-					end
-					MOD:UpdateGroupAuraWatch("party")
-					MOD:UpdateGroupAuraWatch("raidpet", true)
-				end,
-				order = -10,
-				args = {
-					enable = {name = L["Enable"], order = 0, type = "toggle"},
-					point = {
-						name = L["Anchor Point"],
-						order = 1,
-						type = "select",
-						values = {
-							["TOPLEFT"] = "TOPLEFT",
-							["TOPRIGHT"] = "TOPRIGHT",
-							["BOTTOMLEFT"] = "BOTTOMLEFT",
-							["BOTTOMRIGHT"] = "BOTTOMRIGHT",
-							["LEFT"] = "LEFT",
-							["RIGHT"] = "RIGHT",
-							["TOP"] = "TOP",
-							["BOTTOM"] = "BOTTOM"
-						}
-					},
-					xOffset = {order = 2, type = "range", name = L["xOffset"], min = -75, max = 75, step = 1},
-					yOffset = {order = 2, type = "range", name = L["yOffset"], min = -75, max = 75, step = 1},
-					style = {name = L["Style"], order = 3, type = "select", values = {["coloredIcon"] = L["Colored Icon"], ["texturedIcon"] = L["Textured Icon"], [""] = NONE}},
-					color = {
-						name = L["Color"],
-						type = "color",
-						order = 4,
-						get = function(e)
-							local abColor = SV.filters.BuffWatch[registeredSpell][e[#e]]
-							return abColor.r,  abColor.g,  abColor.b,  abColor.a
-						end,
-						set = function(e, i, j, k)
-							local abColor = SV.filters.BuffWatch[registeredSpell][e[#e]]
-							abColor.r,  abColor.g,  abColor.b = i, j, k;
-							for t = 10, 40, 15 do
-								MOD:UpdateGroupAuraWatch("raid"..t)
-							end
-							MOD:UpdateGroupAuraWatch("party")
-							MOD:UpdateGroupAuraWatch("raidpet", true)
-						end
-					},
-					displayText = {
-						name = L["Display Text"],
-						type = "toggle",
-						order = 5
-					},
-					textColor = {
-						name = L["Text Color"],
-						type = "color",
-						order = 6,
-						get = function(e)
-							local abColor = SV.filters.BuffWatch[registeredSpell][e[#e]]
-							if abColor then
-								return abColor.r,  abColor.g,  abColor.b,  abColor.a
-							else
-								return 1, 1, 1, 1
-							end
-						end,
-						set = function(e, i, j, k)
-							SV.filters.BuffWatch[registeredSpell][e[#e]] = SV.filters.BuffWatch[registeredSpell][e[#e]] or {}
-							local abColor = SV.filters.BuffWatch[registeredSpell][e[#e]]
-							abColor.r,  abColor.g,  abColor.b = i, j, k;
-							for t = 10, 40, 15 do
-								MOD:UpdateGroupAuraWatch("raid"..t)
-							end
-							MOD:UpdateGroupAuraWatch("party")
-							MOD:UpdateGroupAuraWatch("raidpet", true)
-						end
-					},
-					textThreshold = {
-						name = L["Text Threshold"],
-						desc = L["At what point should the text be displayed. Set to -1 to disable."],
-						type = "range",
-						order = 6,
-						min = -1,
-						max = 60,
-						step = 1
-					},
-					anyUnit = {
-						name = L["Show Aura From Other Players"],
-						order = 7,
-						type = "toggle"
-					},
-					onlyShowMissing = {
-						name = L["Show When Not Active"],
-						order = 8,
-						type = "toggle",
-						disabled = function()return SV.filters.BuffWatch[registeredSpell].style == "text" end
-					}
-				}
-			}
-		end
-
-		wipe(watchedBuffs)
-
-	else
-
-		SV.Options.args.filters.args.filterGroup = {
-			type = "group",
-			name = filterType,
-			guiInline = true,
-			order = 10,
-			args = {
-				addSpell = {
-					order = 1,
-					name = L["Add Spell"],
-					desc = L["Add a spell to the filter."],
-					type = "input",
-					get = function(e) return "" end,
-					set = function(e, arg)
-						if(not FILTER[arg]) then
-							FILTER[arg] = {
-								["enable"] = true,
-								["priority"] = 0
-							}
-						end
-						generateFilterOptions(filterType, arg)
-						MOD:RefreshUnitFrames()
-					end
-				},
-				removeSpell = {
-					order = 2,
-					name = L["Remove Spell"],
-					desc = L["Remove a spell from the filter."],
-					type = "input",
-					get = function(e)return "" end,
-					set = function(e, arg)
-						if(FILTER[arg]) then
-							if(FILTER[arg].isDefault) then
-								FILTER[arg].enable = false;
-								SV:AddonMessage(L["You may not remove a spell from a default filter that is not customly added. Setting spell to false instead."])
-							else
-								FILTER[arg] = nil
-							end
-						end
-						generateFilterOptions(filterType)
-						MOD:RefreshUnitFrames()
-					end
-				},
-				selectSpell = {
-					name = L["Select Spell"],
-					type = "select",
-					order = 3,
-					guiInline = true,
-					get = function(e) return selectedSpell end,
-					set = function(e, arg) generateFilterOptions(filterType, arg) end,
-					values = function()
-						wipe(tempFilterTable)
-						tempFilterTable[""] = NONE;
-						for g in pairs(FILTER)do
-							tempFilterTable[g] = g
-						end
-						return tempFilterTable
-					end
-				}
-			}
-		}
-
-		if not selectedSpell or not FILTER[selectedSpell] then
-			SV.Options.args.filters.args.spellGroup = nil;
-			return
-		end
-
-		SV.Options.args.filters.args.spellGroup = {
-			type = "group",
-			name = selectedSpell,
-			order = 15,
-			guiInline = true,
-			args = {
-				enable = {
-					name = L["Enable"],
-					type = "toggle",
-					get = function()
-						if not selectedSpell then
-							return false
-						else
-							return FILTER[selectedSpell].enable
-						end
-					end,
-					set = function(e, arg)
-						FILTER[selectedSpell].enable = arg;
-						generateFilterOptions()
-						MOD:RefreshUnitFrames()
-					end
-				},
-				priority = {
-					name = L["Priority"],
-					type = "range",
-					get = function()
-						if not selectedSpell then
-							return 0
-						else
-							return FILTER[selectedSpell].priority
-						end
-					end,
-					set = function(e, arg)
-						FILTER[selectedSpell].priority = arg;
-						generateFilterOptions()
-						MOD:RefreshUnitFrames()
-					end,
-					min = 0,
-					max = 99,
-					step = 1,
-					desc = L["Set the priority order of the spell, please note that prioritys are only used for the raid debuff package, not the standard buff/debuff package. If you want to disable set to zero."]
-				}
-			}
-		}
-	end
-
-	MOD:RefreshUnitFrames()
-
-	collectgarbage("collect")
-end
-
-SV.Options.args.filters = {
-	type = "group",
-	name = L["Filters"],
-	order = -10,
-	args = {
-		createFilter = {
-			order = 1,
-			name = L["Create Filter"],
-			desc = L["Create a custom filter."],
-			type = "input",
-			get = function(e) return "" end,
-			set = function(e, arg)
-				SV.filters.Custom[arg] = {}
-			end
-		},
-		deleteFilter = {
-			type = "select",
-			order = 2,
-			name = L["Delete Filter"],
-			desc = L["Delete a custom filter."],
-			get = function(e) return "" end,
-			set = function(e, arg)
-				SV.filters.Custom[arg] = nil;
-				SV.Options.args.filters.args.filterGroup = nil
-			end,
-			values = function()
-				wipe(tempFilterTable)
-				tempFilterTable[""] = NONE;
-				for g in pairs(SV.filters.Custom) do
-					tempFilterTable[g] = g
-				end
-				return tempFilterTable
-			end
-		},
-		selectFilter = {
-			order = 3,
-			type = "select",
-			name = L["Select Filter"],
-			get = function(e) return filterType end,
-			set = function(e, arg) generateFilterOptions(arg) end,
-			values = function()
-				wipe(tempFilterTable)
-				tempFilterTable[""] = NONE;
-				for g in pairs(SV.filters) do
-					if(publicFilters[g]) then
-						tempFilterTable[g] = publicFilters[g]
-					end
-				end
-				for g in pairs(SV.filters.Custom) do
-					tempFilterTable[g] = g
-				end
-				return tempFilterTable
-			end
-		}
-	}
-}
-
-
-function ns:SetToFilterConfig(newFilter)
-	local filter = newFilter or "BuffWatch"
-	generateFilterOptions(filter)
-	_G.LibStub("AceConfigDialog-3.0"):SelectGroup(SV.NameID, "filters")
-end
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aura.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aura.lua
index ff7a169..2279c26 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aura.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aura.lua
@@ -77,8 +77,13 @@ ns.FilterOptionGroups['_NEW'] = function(filterType)
 						type = "input",
 						get = function(key) return "" end,
 						set = function(key, value)
-							if(not FILTER[value]) then
-								FILTER[value] = {
+							local spellID = tonumber(value);
+							if(not spellID) then
+								SV:AddonMessage(L["Value must be a number"])
+							elseif(not GetSpellInfo(spellID)) then
+								SV:AddonMessage(L["Not valid spell id"])
+							elseif(not FILTER[spellID]) then
+								FILTER[spellID] = {
 									["enable"] = true,
 									["priority"] = 0
 								}
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aurabar.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aurabar.lua
index 3340c91..55fa8d1 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aurabar.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/aurabar.lua
@@ -66,8 +66,13 @@ ns.FilterOptionGroups['AuraBars'] = function(selectedSpell)
 				guiInline = true,
 				get = function(key) return "" end,
 				set = function(key, value)
-					if not SV.db.media.unitframes.spellcolor[value] then
-						SV.db.media.unitframes.spellcolor[value] = false
+					local spellID = tonumber(value);
+					if(not spellID) then
+						SV:AddonMessage(L["Value must be a number"])
+					elseif(not GetSpellInfo(spellID)) then
+						SV:AddonMessage(L["Not valid spell id"])
+					elseif not SV.db.media.unitframes.spellcolor[spellID] then
+						SV.db.media.unitframes.spellcolor[spellID] = false
 					end
 					MOD:SetUnitFrame("player")
 					MOD:SetUnitFrame("target")
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/buffwatch.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/buffwatch.lua
index 92e505b..24cb339 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/buffwatch.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/buffwatch.lua
@@ -55,22 +55,61 @@ local NONE = _G.NONE;
 local GetSpellInfo = _G.GetSpellInfo;
 local collectgarbage = _G.collectgarbage;

+local DEFAULT_COLOR = {["r"] = 1, ["g"] = 0, ["b"] = 0};
+local STYLE_SELECT = {["coloredIcon"] = L["Colored Icon"], ["texturedIcon"] = L["Textured Icon"], [""] = NONE};
+local POSITION_SELECT = {
+	["TOPLEFT"] = "TOPLEFT",
+	["TOPRIGHT"] = "TOPRIGHT",
+	["BOTTOMLEFT"] = "BOTTOMLEFT",
+	["BOTTOMRIGHT"] = "BOTTOMRIGHT",
+	["LEFT"] = "LEFT",
+	["RIGHT"] = "RIGHT",
+	["TOP"] = "TOP",
+	["BOTTOM"] = "BOTTOM"
+};
+
+if(not SV.filters.PetBuffWatch) then
+	SV.filters.PetBuffWatch = {}
+end
+
+if(not SV.filters.BuffWatch) then
+	SV.filters.BuffWatch = {}
+end
+
 local function CacheWatchedBuffs(data)
 	wipe(watchedBuffs)
-	for _, watchData in pairs(data)do
+	for spellID, watchData in pairs(data) do
 		tinsert(watchedBuffs, watchData)
 	end
 end

-if(not SV.filters.PetBuffWatch) then
-	SV.filters.PetBuffWatch = {}
+local function SetWatchedBuff(id, data, enable, point, color, anyUnit)
+	if(not data[id]) then
+		data[id] = {["enable"] = enable, ["point"] = point, ["color"] = color, ["anyUnit"] = anyUnit}
+	else
+		data[id]["enable"] = enable;
+		data[id]["point"] = point;
+		data[id]["color"] = color;
+		data[id]["anyUnit"] = anyUnit;
+	end
+end
+
+local function UpdateBuffWatch()
+	MOD:SetUnitFrame("focus")
+	MOD:SetGroupFrame("raid")
+	MOD:SetGroupFrame("party")
+end
+
+local function UpdatePetBuffWatch()
+	MOD:SetUnitFrame("pet")
+	MOD:SetGroupFrame("raidpet")
 end
-if(not SV.filters.BuffWatch) then
-	SV.filters.BuffWatch = {}
-end

 ns.FilterOptionGroups['BuffWatch'] = function(selectedSpell)
-	CacheWatchedBuffs(SV.filters.BuffWatch)
+	local FILTER = SV.filters.BuffWatch;
+
+	--CacheWatchedBuffs(SV.filters.BuffWatch)
+
 	local RESULT = {
 		type = "group",
 		name = 'BuffWatch',
@@ -84,15 +123,14 @@ ns.FilterOptionGroups['BuffWatch'] = function(selectedSpell)
 				type = "input",
 				get = function(key)return""end,
 				set = function(key, value)
-					if(not tonumber(value)) then
+					local spellID = tonumber(value);
+					if(not spellID) then
 						SV:AddonMessage(L["Value must be a number"])
-					elseif(not GetSpellInfo(value)) then
+					elseif(not GetSpellInfo(spellID)) then
 						SV:AddonMessage(L["Not valid spell id"])
-					else
-						tinsert(SV.filters.BuffWatch, {["enable"] = true, ["id"] = tonumber(value), ["point"] = "TOPRIGHT", ["color"] = {["r"] = 1, ["g"] = 0, ["b"] = 0}, ["anyUnit"] = false})
-						MOD:UpdateGroupAuraWatch("raid")
-						MOD:UpdateGroupAuraWatch("party")
-						MOD:UpdateGroupAuraWatch("raidpet", true)
+					else
+						SetWatchedBuff(value, spellID, FILTER, true, "TOPRIGHT", DEFAULT_COLOR, false)
+						UpdateBuffWatch()
 						ns:SetFilterOptions('BuffWatch')
 					end
 				end
@@ -104,31 +142,31 @@ ns.FilterOptionGroups['BuffWatch'] = function(selectedSpell)
 				type = "input",
 				get = function(key)return""end,
 				set = function(key, value)
-					if not tonumber(value)then
+					local spellID = tonumber(value);
+					if(not spellID) then
 						SV:AddonMessage(L["Value must be a number"])
-					elseif not GetSpellInfo(value)then
+					elseif(not GetSpellInfo(spellID)) then
 						SV:AddonMessage(L["Not valid spell id"])
 					else
-						local p;
-						for q, r in pairs(SV.filters.BuffWatch)do
-							if r["id"] == tonumber(value) then
-								p = r;
-								if SV.filters.BuffWatch[q]then
-									SV.filters.BuffWatch[q].enable = false;
+						local temp;
+						for id, data in pairs(FILTER) do
+							if(tonumber(id) == spellID) then
+								temp = data;
+								if FILTER[id] then
+									FILTER[id].enable = false;
 								else
-									SV.filters.BuffWatch[q] = nil
+									FILTER[id] = nil
 								end
 							end
 						end
-						if p == nil then
+						if temp == nil then
 							SV:AddonMessage(L["Spell not found in list."])
 						else
 							ns:SetFilterOptions()
 						end
 					end
-					MOD:UpdateGroupAuraWatch("raid")
-					MOD:UpdateGroupAuraWatch("party")
-					MOD:UpdateGroupAuraWatch("raidpet", true)
+					UpdateBuffWatch("raid")
+					UpdateBuffWatch("party")
 					ns:SetFilterOptions('BuffWatch')
 				end
 			},
@@ -137,12 +175,13 @@ ns.FilterOptionGroups['BuffWatch'] = function(selectedSpell)
 				type = "select",
 				order = 3,
 				values = function()
-					CacheWatchedBuffs(SV.filters.BuffWatch)
+					--CacheWatchedBuffs(SV.filters.BuffWatch)
 					wipe(tempFilterTable)
-					for _, watchData in pairs(watchedBuffs)do
-						if(watchData.id) then
-							local name = GetSpellInfo(watchData.id)
-							tempFilterTable[watchData.id] = name
+					for id, watchData in pairs(FILTER) do
+						local spellID = tonumber(id)
+						local name = GetSpellInfo(spellID)
+						if(name) then
+							tempFilterTable[spellID] = name
 						end
 					end
 					return tempFilterTable
@@ -157,13 +196,14 @@ end;

 ns.FilterSpellGroups['BuffWatch'] = function(selectedSpell)
 	local RESULT;
+	local FILTER = SV.filters.BuffWatch;

 	if(selectedSpell) then
 		local registeredSpell;

-		for watchIndex, watchData in pairs(SV.filters.BuffWatch)do
-			if(watchData.id == selectedSpell) then
-				registeredSpell = watchIndex
+		for id, watchData in pairs(FILTER)do
+			if(tonumber(id) == selectedSpell) then
+				registeredSpell = id
 			end
 		end

@@ -175,12 +215,10 @@ ns.FilterSpellGroups['BuffWatch'] = function(selectedSpell)
 				name = currentSpell.." (Spell ID#: "..selectedSpell..")",
 				type = "group",
 				guiInline = true,
-				get = function(key)return SV.filters.BuffWatch[registeredSpell][key[#key]]end,
+				get = function(key) return FILTER[registeredSpell][key[#key]] end,
 				set = function(key, value)
 					SV.filters.BuffWatch[registeredSpell][key[#key]] = value;
-					MOD:UpdateGroupAuraWatch("raid")
-					MOD:UpdateGroupAuraWatch("party")
-					MOD:UpdateGroupAuraWatch("raidpet", true)
+					UpdateBuffWatch();
 				end,
 				order = 5,
 				args = {
@@ -207,38 +245,32 @@ ns.FilterSpellGroups['BuffWatch'] = function(selectedSpell)
 						width = 'full',
 						order = 3,
 						type = "toggle",
-						disabled = function()return SV.filters.BuffWatch[registeredSpell].style == "text" end
+						disabled = function() return FILTER[registeredSpell].style == "text" end
 					},
 					point = {
 						name = L["Anchor Point"],
 						order = 4,
 						type = "select",
-						values = {
-							["TOPLEFT"] = "TOPLEFT",
-							["TOPRIGHT"] = "TOPRIGHT",
-							["BOTTOMLEFT"] = "BOTTOMLEFT",
-							["BOTTOMRIGHT"] = "BOTTOMRIGHT",
-							["LEFT"] = "LEFT",
-							["RIGHT"] = "RIGHT",
-							["TOP"] = "TOP",
-							["BOTTOM"] = "BOTTOM"
-						}
+						values = POSITION_SELECT
 					},
-					style = {name = L["Style"], order = 5, type = "select", values = {["coloredIcon"] = L["Colored Icon"], ["texturedIcon"] = L["Textured Icon"], [""] = NONE}},
+					style = {
+						name = L["Style"],
+						order = 5,
+						type = "select",
+						values = STYLE_SELECT
+					},
 					color = {
 						name = L["Color"],
 						type = "color",
 						order = 6,
 						get = function(key)
-							local abColor = SV.filters.BuffWatch[registeredSpell][key[#key]]
+							local abColor = FILTER[registeredSpell][key[#key]]
 							return abColor.r,  abColor.g,  abColor.b,  abColor.a
 						end,
 						set = function(key, r, g, b)
-							local abColor = SV.filters.BuffWatch[registeredSpell][key[#key]]
+							local abColor = FILTER[registeredSpell][key[#key]]
 							abColor.r,  abColor.g,  abColor.b = r, g, b;
-							MOD:UpdateGroupAuraWatch("raid")
-							MOD:UpdateGroupAuraWatch("party")
-							MOD:UpdateGroupAuraWatch("raidpet", true)
+							UpdateBuffWatch()
 						end
 					},
 					textColor = {
@@ -246,7 +278,7 @@ ns.FilterSpellGroups['BuffWatch'] = function(selectedSpell)
 						type = "color",
 						order = 7,
 						get = function(key)
-							local abColor = SV.filters.BuffWatch[registeredSpell][key[#key]]
+							local abColor = FILTER[registeredSpell][key[#key]]
 							if abColor then
 								return abColor.r,  abColor.g,  abColor.b,  abColor.a
 							else
@@ -254,12 +286,10 @@ ns.FilterSpellGroups['BuffWatch'] = function(selectedSpell)
 							end
 						end,
 						set = function(key, r, g, b)
-							SV.filters.BuffWatch[registeredSpell][key[#key]] = SV.filters.BuffWatch[registeredSpell][key[#key]] or {}
-							local abColor = SV.filters.BuffWatch[registeredSpell][key[#key]]
+							FILTER[registeredSpell][key[#key]] = FILTER[registeredSpell][key[#key]] or {}
+							local abColor = FILTER[registeredSpell][key[#key]]
 							abColor.r,  abColor.g,  abColor.b = r, g, b;
-							MOD:UpdateGroupAuraWatch("raid")
-							MOD:UpdateGroupAuraWatch("party")
-							MOD:UpdateGroupAuraWatch("raidpet", true)
+							UpdateBuffWatch()
 						end
 					},
 					textThreshold = {
@@ -282,7 +312,8 @@ ns.FilterSpellGroups['BuffWatch'] = function(selectedSpell)
 end;

 ns.FilterOptionGroups['PetBuffWatch'] = function(selectedSpell)
-	CacheWatchedBuffs(SV.filters.PetBuffWatch)
+	--CacheWatchedBuffs(SV.filters.PetBuffWatch)
+	local FILTER = SV.filters.PetBuffWatch;
 	local RESULT = {
 		type = "group",
 		name = 'PetBuffWatch',
@@ -296,13 +327,14 @@ ns.FilterOptionGroups['PetBuffWatch'] = function(selectedSpell)
 				type = "input",
 				get = function(key) return "" end,
 				set = function(key, value)
-					if not tonumber(value) then
+					local spellID = tonumber(value);
+					if(not spellID) then
 						SV:AddonMessage(L["Value must be a number"])
-					elseif(not GetSpellInfo(value)) then
+					elseif(not GetSpellInfo(spellID)) then
 						SV:AddonMessage(L["Not valid spell id"])
-					else
-						tinsert(SV.filters.PetBuffWatch, {["enable"] = true, ["id"] = tonumber(value), ["point"] = "TOPRIGHT", ["color"] = {["r"] = 1, ["g"] = 0, ["b"] = 0}, ["anyUnit"] = true})
-						MOD:SetUnitFrame("pet")
+					else
+						SetWatchedBuff(value, spellID, FILTER, true, "TOPRIGHT", DEFAULT_COLOR, true)
+						UpdatePetBuffWatch()
 						ns:SetFilterOptions('PetBuffWatch', selectedSpell)
 					end
 				end
@@ -314,29 +346,26 @@ ns.FilterOptionGroups['PetBuffWatch'] = function(selectedSpell)
 				type = "input",
 				get = function(key) return "" end,
 				set = function(key, value)
-					if not tonumber(value)then
+					local spellID = tonumber(value);
+					if(not spellID) then
 						SV:AddonMessage(L["Value must be a number"])
-					elseif not GetSpellInfo(value) then
+					elseif(not GetSpellInfo(spellID)) then
 						SV:AddonMessage(L["Not valid spell id"])
-					else
-						local p;
-						for q, r in pairs(SV.filters.PetBuffWatch)do
-							if r["id"] == tonumber(value) then
-								p = r;
-								if SV.filters.PetBuffWatch[q] then
-									SV.filters.PetBuffWatch[q].enable = false;
-								else
-									SV.filters.PetBuffWatch[q] = nil
-								end
+					else
+						local success = false;
+						for id, data in pairs(FILTER) do
+							if(tonumber(id) == spellID) then
+								success = true;
+								data.enable = false;
 							end
 						end
-						if p == nil then
+						if not success then
 							SV:AddonMessage(L["Spell not found in list."])
 						else
 							ns:SetFilterOptions()
 						end
 					end
-					MOD:SetUnitFrame("pet")
+					UpdatePetBuffWatch()
 					ns:SetFilterOptions('PetBuffWatch', selectedSpell)
 				end
 			},
@@ -345,15 +374,16 @@ ns.FilterOptionGroups['PetBuffWatch'] = function(selectedSpell)
 				type = "select",
 				order = 3,
 				values = function()
-					CacheWatchedBuffs(SV.filters.PetBuffWatch)
+					--CacheWatchedBuffs(FILTER)
 					wipe(tempFilterTable)
-					for _, watchData in pairs(watchedBuffs)do
-						if(watchData.id) then
-							local name = GetSpellInfo(watchData.id)
-							tempFilterTable[watchData.id] = name
+					for id, watchData in pairs(FILTER) do
+						local spellID = tonumber(id)
+						local name = GetSpellInfo(spellID)
+						if(name) then
+							tempFilterTable[spellID] = name
 						end
 					end
-					return tempFilterTable
+					return tempFilterTable
 				end,
 				get = function(key) return selectedSpell end,
 				set = function(key, value) ns:SetFilterOptions('PetBuffWatch', selectedSpell) end
@@ -366,13 +396,14 @@ end;

 ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell)
 	local RESULT;
+	local FILTER = SV.filters.PetBuffWatch;

 	if(selectedSpell) then
 		local registeredSpell;

-		for watchIndex, watchData in pairs(SV.filters.PetBuffWatch)do
-			if(watchData.id == selectedSpell) then
-				registeredSpell = watchIndex
+		for id, watchData in pairs(FILTER)do
+			if(tonumber(id) == selectedSpell) then
+				registeredSpell = id
 			end
 		end

@@ -383,10 +414,10 @@ ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell)
 			RESULT = {
 				name = currentSpell.." ("..selectedSpell..")",
 				type = "group",
-				get = function(key)return SV.filters.PetBuffWatch[registeredSpell][key[#key]] end,
+				get = function(key)return FILTER[registeredSpell][key[#key]] end,
 				set = function(key, value)
-					SV.filters.PetBuffWatch[registeredSpell][key[#key]] = value;
-					MOD:SetUnitFrame("pet")
+					FILTER[registeredSpell][key[#key]] = value;
+					UpdatePetBuffWatch()
 				end,
 				order = 5,
 				guiInline = true,
@@ -400,16 +431,7 @@ ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell)
 						name = L["Anchor Point"],
 						order = 1,
 						type = "select",
-						values = {
-							["TOPLEFT"] = "TOPLEFT",
-							["TOPRIGHT"] = "TOPRIGHT",
-							["BOTTOMLEFT"] = "BOTTOMLEFT",
-							["BOTTOMRIGHT"] = "BOTTOMRIGHT",
-							["LEFT"] = "LEFT",
-							["RIGHT"] = "RIGHT",
-							["TOP"] = "TOP",
-							["BOTTOM"] = "BOTTOM"
-						}
+						values = POSITION_SELECT
 					},
 					xOffset = {order = 2, type = "range", name = L["xOffset"], min = -75, max = 75, step = 1},
 					yOffset = {order = 2, type = "range", name = L["yOffset"], min = -75, max = 75, step = 1},
@@ -417,20 +439,21 @@ ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell)
 						name = L["Style"],
 						order = 3,
 						type = "select",
-						values = {["coloredIcon"] = L["Colored Icon"], ["texturedIcon"] = L["Textured Icon"], [""] = NONE}
+						values = STYLE_SELECT
+
 					},
 					color = {
 						name = L["Color"],
 						type = "color",
 						order = 4,
 						get = function(key)
-							local abColor = SV.filters.PetBuffWatch[registeredSpell][key[#key]]
+							local abColor = FILTER[registeredSpell][key[#key]]
 							return abColor.r,  abColor.g,  abColor.b,  abColor.a
 						end,
 						set = function(key, r, g, b)
-							local abColor = SV.filters.PetBuffWatch[registeredSpell][key[#key]]
+							local abColor = FILTER[registeredSpell][key[#key]]
 							abColor.r,  abColor.g,  abColor.b = r, g, b;
-							MOD:SetUnitFrame("pet")
+							UpdatePetBuffWatch()
 						end
 					},
 					displayText = {
@@ -443,7 +466,7 @@ ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell)
 						type = "color",
 						order = 6,
 						get = function(key)
-							local abColor = SV.filters.PetBuffWatch[registeredSpell][key[#key]]
+							local abColor = FILTER[registeredSpell][key[#key]]
 							if abColor then
 								return abColor.r,abColor.g,abColor.b,abColor.a
 							else
@@ -451,9 +474,9 @@ ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell)
 							end
 						end,
 						set = function(key, r, g, b)
-							local abColor = SV.filters.PetBuffWatch[registeredSpell][key[#key]]
+							local abColor = FILTER[registeredSpell][key[#key]]
 							abColor.r,abColor.g,abColor.b = r, g, b;
-							MOD:SetUnitFrame("pet")
+							UpdatePetBuffWatch()
 						end
 					},
 					textThreshold = {
@@ -474,7 +497,7 @@ ns.FilterSpellGroups['PetBuffWatch'] = function(selectedSpell)
 						name = L["Show When Not Active"],
 						order = 8,
 						type = "toggle",
-						disabled = function()return SV.filters.PetBuffWatch[registeredSpell].style == "text"end
+						disabled = function() return FILTER[registeredSpell].style == "text" end
 					}
 				}
 			}
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/core.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/core.lua
index cdcc9a6..d402453 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/components/filters/core.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/components/filters/core.lua
@@ -82,8 +82,8 @@ local collectgarbage = _G.collectgarbage;

 SV.Options.args.filters = {
 	type = "group",
-	name = L["Filters"],
-	order = -10,
+	name = L["Aura Filters"],
+	order = 9997,
 	args = {
 		createFilter = {
 			order = 1,
@@ -92,7 +92,13 @@ SV.Options.args.filters = {
 			type = "input",
 			get = function(key) return "" end,
 			set = function(key, value)
-				SV.filters.Custom[value] = {}
+				if(not value or (value and value == '')) then
+					SV:AddonMessage(L["Not a usable filter name"])
+				elseif(SV.filters.Custom[value]) then
+					SV:AddonMessage(L["Filter already exists"])
+				else
+					SV.filters.Custom[value] = {}
+				end
 			end
 		},
 		deleteFilter = {
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua
index b550031..b591550 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua
@@ -39,35 +39,43 @@ local FONT_INFO = {
 	{"System Dialog", 1, "The most commonly used fonts.",
 		{
 			["default"] = {
+				order = 1,
 				name = "Default",
 				desc = "Standard font for the majority of uses."
 			},
 			["dialog"] = {
+				order = 2,
 				name = "Dialog",
 				desc = "Font used in places that story text appears. (ie.. quest text)"
 			},
 			["combat"] = {
+				order = 3,
 				name = "Combat",
 				desc = "Scrolling combat text font."
 			},
 	    	["alert"] = {
-	    		name = "Alerts",
+	    		order = 4,
+				name = "Alerts",
 	    		desc = "Font used for on-screen message alerts."
 	    	},
 	    	["zone"] = {
-	    		name = "Zone Text",
+	    		order = 5,
+				name = "Zone Text",
 	    		desc = "Font used for zone names. Shown when changing zones."
 	    	},
 	    	["title"] = {
-	    		name = "Titles",
+	    		order = 6,
+				name = "Titles",
 	    		desc = "Font used to display various titles."
 	    	},
 	    	["header"] = {
-	    		name = "Frame Headers",
+	    		order = 7,
+				name = "Frame Headers",
 	    		desc = "Font used to large names at the top of some frames."
 	    	},
 	    	["caps"] = {
-	    		name = "Caps",
+	    		order = 8,
+				name = "Caps",
 	    		desc = "Font typically used for things like tabs and fitted headers."
 	    	},
 		},
@@ -75,14 +83,17 @@ local FONT_INFO = {
 	{"System Numeric", 2, "These fonts are used for many number values.",
 		{
 			["number"] = {
+				order = 1,
 				name = "Numbers (Regular)",
 				desc = "Font used to display most numeric values."
 			},
 			["number_big"] = {
-	    		name = "Numbers (Large)",
+	    		order = 2,
+				name = "Numbers (Large)",
 	    		desc = "Font used to display larger numeric values."
 	    	},
 			["aura"]   = {
+				order = 3,
 				name = "Auras",
 				desc = "Aura counts and timers use this font."
 			},
@@ -91,10 +102,12 @@ local FONT_INFO = {
 	{"Chat", 3, "Fonts used for the chat frame.",
 		{
 			["chatdialog"] = {
+				order = 1,
 				name = "Chat",
 				desc = "Font used for chat text."
 			},
 			["chattab"] = {
+				order = 2,
 				name = "Chat Tabs",
 				desc = "Font used for chat tab labels."
 			},
@@ -103,14 +116,17 @@ local FONT_INFO = {
 	{"QuestTracker", 4, "Fonts used in the SVUI Quest Tracker.",
 		{
 			["questdialog"] = {
+				order = 1,
 				name = "Quest Tracker Dialog",
 				desc = "Default font used in the quest tracker"
 			},
 		    ["questheader"] = {
+				order = 2,
 				name = "Quest Tracker Titles",
 				desc = "Font used in the quest tracker for listing headers."
 			},
 		    ["questnumber"] = {
+				order = 3,
 				name = "Quest Tracker Numbers",
 				desc = "Font used in the quest tracker to display numeric values."
 			},
@@ -119,14 +135,17 @@ local FONT_INFO = {
 	{"NamePlate", 5, "Fonts used in name plates.",
 		{
 			["platename"] = {
+				order = 1,
 				name = "Nameplate Names",
 				desc = "Used on nameplates for unit names."
 			},
 			["platenumber"] = {
+				order = 2,
 				name = "Nameplate Numbers",
 				desc = "Used on nameplates for health and level numbers."
 			},
 		    ["plateaura"] = {
+				order = 3,
 				name = "Nameplate Auras",
 				desc = "Used on nameplates for aura texts."
 			},
@@ -135,26 +154,32 @@ local FONT_INFO = {
 	{"UnitFrame", 6, "Fonts used in unit frames.",
 		{
 			["unitaurabar"] = {
+				order = 1,
 				name = "Unitframe AuraBar",
 				desc = "Used on unit aurabars."
 			},
 		    ["unitauramedium"] = {
+				order = 2,
 				name = "Unitframe Aura (Medium)",
 				desc = "Used on unit frames for auras (medium scale)."
 			},
 		    ["unitauralarge"] = {
+				order = 3,
 				name = "Unitframe Aura (Large)",
 				desc = "Used on unit frames for auras (large scale)."
 			},
 		    ["unitaurasmall"] = {
+				order = 4,
 				name = "Unitframe Aura (Small)",
 				desc = "Used on unit frames for auras (small scale)."
 			},
 		    ["unitprimary"] = {
+				order = 5,
 				name = "Unitframe Values",
 				desc = "Used on all primary unit frames for health, power and misc values.\nUnits: player, pet, target, focus, boss and arena"
 			},
 		    ["unitsecondary"] = {
+				order = 6,
 				name = "Unitframe Values",
 				desc = "Used on all non-primary unit frames for health, power and misc values.\nUnits: pettarget, targettarget, focustarget, party, raid, raidpet, tank and assist."
 			},
@@ -163,10 +188,12 @@ local FONT_INFO = {
 	{"Bags", 7, "Fonts used in bag slots.",
 		{
 			["bagdialog"] = {
+				order = 1,
 				name = "Bag Slot Dialog",
 				desc = "Default font used in bag and bank slots"
 			},
 		    ["bagnumber"] = {
+				order = 2,
 				name = "Bag Slot Numbers",
 				desc = "Font used in bag and bank slots to display numeric values."
 			},
@@ -175,10 +202,12 @@ local FONT_INFO = {
 	{"Tooltip", 8, "Fonts used in tooltips.",
 		{
 			["tipdialog"] = {
+				order = 1,
 				name = "Tooltip Dialog",
 				desc = "Default font used in tooltips"
 			},
 		    ["tipheader"] = {
+				order = 2,
 				name = "Tooltip Headers",
 				desc = "Font used in tooltips to display large names."
 			},
@@ -187,18 +216,22 @@ local FONT_INFO = {
 	{"Loot", 9, "Fonts used in loot frames.",
 		{
 			["lootdialog"] = {
+				order = 1,
 				name = "Loot Frame Dialog",
 				desc = "Default font used in the loot frame"
 			},
 		    ["lootnumber"] = {
+				order = 2,
 				name = "Loot Frame Numbers",
 				desc = "Font used in the loot frame to display numeric values."
 			},
 			["rolldialog"] = {
+				order = 3,
 				name = "Roll Frame Dialog",
 				desc = "Default font used in the loot-roll frame"
 			},
 		    ["rollnumber"] = {
+				order = 4,
 				name = "Roll Frame Numbers",
 				desc = "Font used in the loot-roll frame to display numeric values."
 			},
@@ -207,15 +240,18 @@ local FONT_INFO = {
 	{"Misc", 10, "Fonts used in various places including the docks.",
 		{
 			["data"] = {
+				order = 1,
 				name = "Docked Stats",
 				desc = "Font used by the bottom and top data docks."
 			},
 	    	["narrator"] = {
-	    		name = "Narratives",
+	    		order = 2,
+				name = "Narratives",
 	    		desc = "Font used for things like the 'Meanwhile' tag."
 	    	},
 	    	["pixel"] = {
-	    		name = "Pixel",
+	    		order = 3,
+				name = "Pixel",
 	    		desc = "Tiniest fonts."
 	    	},
 		},
@@ -225,7 +261,7 @@ local FONT_INFO = {
 local function GenerateFontGroup()
     local fontGroupArgs = {};

-    for _, listData in pairs(FONT_INFO) do
+    for _, listData in ipairs(FONT_INFO) do
     	local orderCount = 3;
     	local groupName = listData[1];
     	local groupCount = listData[2];
@@ -252,7 +288,7 @@ local function GenerateFontGroup()
 		};
     	for template, info in pairs(groupList) do
 	    	fontGroupArgs[groupName].args[template] = {
-	    		order = orderCount,
+	    		order = orderCount + info.order,
 				type = "group",
 				guiInline = true,
 				name = info.name,
@@ -313,7 +349,6 @@ local function GenerateFontGroup()
 					},
 				}
 	    	}
-	    	orderCount = orderCount + 1;
 	    end
     end

diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/profiles.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/profiles.lua
index d3e3b9a..275f816 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/components/profiles.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/components/profiles.lua
@@ -38,7 +38,7 @@ local playerName = UnitName("player")
 local profileKey = ("%s - %s"):format(playerName, playerRealm)

 SV.Options.args.profiles = {
-	order = 9999,
+	order = 9998,
 	type = "group",
 	name = L["Profiles"],
 	childGroups = "tab",
diff --git a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua
index 845f555..4a373a9 100644
--- a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua
+++ b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua
@@ -509,7 +509,7 @@ function PLUGIN:Load()
 	title:SetFrameStrata("MEDIUM")
 	title:SetPoint("TOPLEFT",ModeLogsFrame,"TOPLEFT",0,0)
 	title:SetPoint("BOTTOMRIGHT",ModeLogsFrame,"TOPRIGHT",0,-20)
-	title:FontManager("title")
+	title:SetFontObject(SystemFont_Shadow_Outline_Large)
 	title:SetMaxLines(1)
 	title:EnableMouseWheel(false)
 	title:SetFading(false)
@@ -533,7 +533,7 @@ function PLUGIN:Load()
 	log:SetFrameStrata("MEDIUM")
 	log:SetPoint("TOPLEFT",title,"BOTTOMLEFT",0,0)
 	log:SetPoint("BOTTOMRIGHT",ModeLogsFrame,"BOTTOMRIGHT",0,0)
-	log:FontManager("default")
+	log:SetFontObject(SVUI_Font_Default)
 	log:SetJustifyH("CENTER")
 	log:SetJustifyV("MIDDLE")
 	log:SetShadowColor(0, 0, 0, 0)
diff --git a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua
index 62d6960..31f41cb 100644
--- a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua
+++ b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua
@@ -1085,7 +1085,7 @@ function PLUGIN:Load()
 	title:SetFrameStrata("MEDIUM")
 	title:SetPoint("TOPLEFT", toolBar, "TOPRIGHT",0,0)
 	title:SetPoint("BOTTOMRIGHT", self.Docklet, "TOPRIGHT",0,-16)
-	title:FontManager("title")
+	title:SetFontObject(SystemFont_Shadow_Outline_Large)
 	title:SetMaxLines(1)
 	title:EnableMouseWheel(false)
 	title:SetFading(false)
@@ -1116,7 +1116,7 @@ function PLUGIN:Load()
 	summary:SetFrameStrata("MEDIUM")
 	summary:SetPoint("TOPLEFT", title, "BOTTOMLEFT",0,0)
 	summary:SetPoint("BOTTOMRIGHT", title, "BOTTOMRIGHT",0,-14)
-	summary:FontManager("default")
+	summary:SetFontObject(SVUI_Font_Default)
 	summary:SetMaxLines(1)
 	summary:EnableMouse(false)
 	summary:SetFading(false)
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/addons/Ace3.lua b/Interface/AddOns/SVUI_StyleOMatic/components/addons/Ace3.lua
index ceb9044..24dbdf1 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/addons/Ace3.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/addons/Ace3.lua
@@ -125,7 +125,7 @@ local function StyleAceGUI(event, addon)
 			if not widget.styledCheckBG then
 				widget.styledCheckBG = CreateFrame("Frame", nil, widget.frame)
 				widget.styledCheckBG:SetAllPointsIn(widget.check)
-				PLUGIN:ApplyFixedFrameStyle(widget.styledCheckBG, "Inset")
+				PLUGIN:ApplyFixedFrameStyle(widget.styledCheckBG, "Checkbox")
 			end
 			widget.check:SetParent(widget.styledCheckBG)

diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/addons/DBM.lua b/Interface/AddOns/SVUI_StyleOMatic/components/addons/DBM.lua
index edf9b8b..6af3314 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/addons/DBM.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/addons/DBM.lua
@@ -141,7 +141,7 @@ local StyleBossTitle = function()
 	if not anchor.styled then
 		local header = {anchor:GetRegions()}
 		if header[1]:IsObjectType('FontString') then
-			header[1]:FontManager("default")
+			header[1]:SetFontObject(SVUI_Font_Default)
 			header[1]:SetTextColor(1, 1, 1)
 			header[1]:SetShadowColor(0, 0, 0, 0)
 			anchor.styled = true
@@ -189,8 +189,8 @@ local StyleBoss = function()
 		bar:SetHeight(22)
 		name:SetPointToScale('LEFT', bar, 'LEFT', 4, 0)
 		timer:SetPointToScale('RIGHT', bar, 'RIGHT', -4, 0)
-		name:FontManager("dialog")
-		timer:FontManager("default")
+		name:SetFontObject(SpellFont_Small)
+		timer:SetFontObject(SVUI_Font_Default)
 		count = count + 1
 	end
 end
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua b/Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua
index c9db229..28189f4 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/addons/MasterPlan.lua
@@ -31,21 +31,13 @@ HELPERS
 ]]--
 local RING_TEXTURE = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\FOLLOWER-RING]]
 local LVL_TEXTURE = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\FOLLOWER-LEVEL]]
+local HIGHLIGHT_TEXTURE = [[Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT]]
 local DEFAULT_COLOR = {r = 0.25, g = 0.25, b = 0.25};
 --[[
 ##########################################################
 STYLE
 ##########################################################
 ]]--
-_G.ATLAS_HACKS["MasterPlan_GarrPortraits"] = function(self, atlas)
-  local parent = self:GetParent()
-  self:ClearAllPoints()
-  self:SetPoint("TOPLEFT", parent, "TOPLEFT", -3, 0)
-  self:SetPoint("BOTTOMRIGHT", parent, "BOTTOMRIGHT", 3, -6)
-  self:SetTexture(RING_TEXTURE)
-  self:SetVertexColor(1, 0.86, 0)
-end
-
 local StyleRewardIcon = function(self)
   local icon = self.Icon or self.icon
   if(icon) then
@@ -58,10 +50,72 @@ local StyleRewardIcon = function(self)
   end
 end

+local MasterPlan_GarrPortraits = function(self, atlas)
+  local parent = self:GetParent()
+  self:ClearAllPoints()
+  self:SetPoint("TOPLEFT", parent, "TOPLEFT", -3, 0)
+  self:SetPoint("BOTTOMRIGHT", parent, "BOTTOMRIGHT", 3, -6)
+  self:SetTexture(RING_TEXTURE)
+  self:SetVertexColor(1, 0.86, 0)
+end
+
+local GarrMission_Rewards = function(self)
+  local frame = self:GetParent()
+  if(frame and (not frame.Panel)) then
+    local size = frame:GetHeight() - 6
+    frame:RemoveTextures()
+    frame:SetStylePanel("Default", 'Icon', true, 2)
+    hooksecurefunc(frame, "SetPoint", StyleRewardIcon)
+  end
+end
+
+local GarrMission_Buttons = function(self)
+  local frame = self:GetParent()
+  if(frame) then
+    PLUGIN:ApplyItemButtonStyle(frame)
+  end
+end
+
+local GarrMission_Highlights = function(self)
+  local parent = self:GetParent()
+  if(not parent.AtlasHighlight) then
+      local frame = parent:CreateTexture(nil, "HIGHLIGHT")
+    frame:SetAllPointsIn(parent,1,1)
+    frame:SetTexture(HIGHLIGHT_TEXTURE)
+    frame:SetGradientAlpha("VERTICAL",0.1,0.82,0.95,0.1,0.1,0.82,0.95,0.68)
+    parent.AtlasHighlight = frame
+  end
+  self:SetTexture("")
+end
+
 local function StyleMasterPlan()
 	assert(MasterPlan, "AddOn Not Loaded")

-  _G.ATLAS_THIEF["Garr_FollowerPortrait_Ring"] = "MasterPlan_GarrPortraits";
+  SV:SetAtlasFunc("MasterPlan_GarrPortraits", MasterPlan_GarrPortraits)
+  SV:SetAtlasFunc("GarrMission_Rewards", GarrMission_Rewards)
+  SV:SetAtlasFunc("GarrMission_Buttons", GarrMission_Buttons)
+  SV:SetAtlasFunc("GarrMission_Highlights", GarrMission_Highlights)
+
+  SV:SetAtlasFilter("Garr_FollowerPortrait_Ring", "MasterPlan_GarrPortraits");
+  SV:SetAtlasFilter("_GarrMission_MissionListTopHighlight", "GarrMission_Highlights")
+  SV:SetAtlasFilter("!GarrMission_Bg-Edge", "GarrMission_Buttons")
+  SV:SetAtlasFilter("GarrMission_RewardsShadow", "GarrMission_Rewards")
+
+  SV:SetAtlasFilter("_GarrMission_TopBorder-Highlight");
+  SV:SetAtlasFilter("GarrMission_ListGlow-Highlight");
+  SV:SetAtlasFilter("GarrMission_TopBorderCorner-Highlight");
+  SV:SetAtlasFilter("Garr_InfoBox-BackgroundTile");
+  SV:SetAtlasFilter("_Garr_InfoBoxBorder-Top");
+  SV:SetAtlasFilter("!Garr_InfoBoxBorder-Left");
+  SV:SetAtlasFilter("!Garr_InfoBox-Left");
+  SV:SetAtlasFilter("_Garr_InfoBox-Top");
+  SV:SetAtlasFilter("Garr_InfoBoxBorder-Corner");
+  SV:SetAtlasFilter("Garr_InfoBox-CornerShadow");
+  SV:SetAtlasFilter("_GarrMission_Bg-BottomEdgeSmall");
+  SV:SetAtlasFilter("_GarrMission_TopBorder");
+  SV:SetAtlasFilter("GarrMission_TopBorderCorner");
+  SV:SetAtlasFilter("Garr_MissionList-IconBG");
+

 	PLUGIN:ApplyTabStyle(GarrisonMissionFrameTab3)
 	PLUGIN:ApplyTabStyle(GarrisonMissionFrameTab4)
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/atlas/garrison.lua b/Interface/AddOns/SVUI_StyleOMatic/components/atlas/garrison.lua
index 0d12225..5f835a0 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/atlas/garrison.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/atlas/garrison.lua
@@ -38,93 +38,29 @@ local DEFAULT_COLOR = {r = 0.25, g = 0.25, b = 0.25};
 STYLE
 ##########################################################
 ]]--
-local StyleRewardIcon = function(self)
-  local icon = self.Icon or self.icon
-  if(icon) then
-    local texture = icon:GetTexture()
-    icon:SetTexture(texture)
-    icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
-    icon:ClearAllPoints()
-    icon:SetAllPointsIn(self, 1, 1)
-    icon:SetDesaturated(false)
-  end
-end
-
-_G.ATLAS_HACKS["GarrMission_Rewards"] = function(self)
-  local frame = self:GetParent()
-  if(frame and (not frame.Panel)) then
-    local size = frame:GetHeight() - 6
-    frame:RemoveTextures()
-    frame:SetStylePanel("Default", 'Icon', true, 2)
-    hooksecurefunc(frame, "SetPoint", StyleRewardIcon)
-  end
-end
-
-_G.ATLAS_HACKS["GarrMission_Buttons"] = function(self)
-  local frame = self:GetParent()
-  if(frame) then
-    PLUGIN:ApplyItemButtonStyle(frame)
-  end
-end
-
-_G.ATLAS_HACKS["GarrMission_PortraitsFromLevel"] = function(self)
+local GarrMission_PortraitsFromLevel = function(self)
 	local parent = self:GetParent()
 	if(parent.PortraitRing) then
   		parent.PortraitRing:SetTexture(RING_TEXTURE)
   	end
 end
+SV:SetAtlasFunc("GarrMission_PortraitsFromLevel", GarrMission_PortraitsFromLevel)

-_G.ATLAS_HACKS["GarrMission_Highlights"] = function(self)
-	local parent = self:GetParent()
-	if(not parent.AtlasHighlight) then
-  		local frame = parent:CreateTexture(nil, "HIGHLIGHT")
-		frame:SetAllPointsIn(parent,1,1)
-		frame:SetTexture(HIGHLIGHT_TEXTURE)
-		frame:SetGradientAlpha("VERTICAL",0.1,0.82,0.95,0.1,0.1,0.82,0.95,0.68)
-		parent.AtlasHighlight = frame
-	end
-	self:SetTexture("")
-end
-
-_G.ATLAS_HACKS["GarrMission_MaterialFrame"] = function(self)
+local GarrMission_MaterialFrame = function(self)
   local frame = self:GetParent()
   frame:RemoveTextures()
   frame:SetStylePanel("Default", "Inset", true, 1, -5, -7)
 end
+SV:SetAtlasFunc("GarrMission_MaterialFrame", GarrMission_MaterialFrame)

---_G.ATLAS_THIEF["GarrMission_MissionParchment"] = "default";
---_G.ATLAS_THIEF["GarrMission_RareOverlay"] = "GarrMission_Buttons";
-
-_G.ATLAS_THIEF["_GarrMission_MissionListTopHighlight"] = "GarrMission_Highlights";
-_G.ATLAS_THIEF["_GarrMission_TopBorder-Highlight"] = "default";
-_G.ATLAS_THIEF["GarrMission_ListGlow-Highlight"] = "default";
-_G.ATLAS_THIEF["GarrMission_TopBorderCorner-Highlight"] = "default";
-
-_G.ATLAS_THIEF["Garr_FollowerToast-Uncommon"] = "default";
-_G.ATLAS_THIEF["Garr_FollowerToast-Epic"] = "default";
-_G.ATLAS_THIEF["Garr_FollowerToast-Rare"] = "default";
-
-_G.ATLAS_THIEF["GarrLanding-MinimapIcon-Horde-Up"] = "default";
-_G.ATLAS_THIEF["GarrLanding-MinimapIcon-Horde-Down"] = "default";
-_G.ATLAS_THIEF["GarrLanding-MinimapIcon-Alliance-Up"] = "default";
-_G.ATLAS_THIEF["GarrLanding-MinimapIcon-Alliance-Down"] = "default";
-
-_G.ATLAS_THIEF["Garr_InfoBox-BackgroundTile"] = "default";
-_G.ATLAS_THIEF["_Garr_InfoBoxBorder-Top"] = "default";
-_G.ATLAS_THIEF["!Garr_InfoBoxBorder-Left"] = "default";
-_G.ATLAS_THIEF["!Garr_InfoBox-Left"] = "default";
-_G.ATLAS_THIEF["_Garr_InfoBox-Top"] = "default";
-
-_G.ATLAS_THIEF["Garr_InfoBoxBorder-Corner"] = "default";
-_G.ATLAS_THIEF["Garr_InfoBox-CornerShadow"] = "default";
-_G.ATLAS_THIEF["Garr_Mission_MaterialFrame"] = "GarrMission_MaterialFrame";
-
-_G.ATLAS_THIEF["!GarrMission_Bg-Edge"] = "GarrMission_Buttons";
-_G.ATLAS_THIEF["_GarrMission_Bg-BottomEdgeSmall"] = "default";
-_G.ATLAS_THIEF["_GarrMission_TopBorder"] = "default";
-_G.ATLAS_THIEF["GarrMission_TopBorderCorner"] = "default";
-_G.ATLAS_THIEF["Garr_MissionList-IconBG"] = "default";
+SV:SetAtlasFilter("GarrMission_PortraitRing_LevelBorder", "GarrMission_PortraitsFromLevel")
+SV:SetAtlasFilter("GarrMission_PortraitRing_iLvlBorder", "GarrMission_PortraitsFromLevel")
+SV:SetAtlasFilter("Garr_Mission_MaterialFrame", "GarrMission_MaterialFrame")

-_G.ATLAS_THIEF["GarrMission_RewardsShadow"] = "GarrMission_Rewards";
-_G.ATLAS_THIEF["GarrMission_PortraitRing_LevelBorder"] = "GarrMission_PortraitsFromLevel";
-_G.ATLAS_THIEF["GarrMission_PortraitRing_iLvlBorder"] = "GarrMission_PortraitsFromLevel";
\ No newline at end of file
+SV:SetAtlasFilter("Garr_FollowerToast-Uncommon");
+SV:SetAtlasFilter("Garr_FollowerToast-Epic");
+SV:SetAtlasFilter("Garr_FollowerToast-Rare");
+SV:SetAtlasFilter("GarrLanding-MinimapIcon-Horde-Up");
+SV:SetAtlasFilter("GarrLanding-MinimapIcon-Horde-Down");
+SV:SetAtlasFilter("GarrLanding-MinimapIcon-Alliance-Up");
+SV:SetAtlasFilter("GarrLanding-MinimapIcon-Alliance-Down");
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/friends.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/friends.lua
index e07ff68..788b821 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/friends.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/friends.lua
@@ -114,7 +114,7 @@ local function ChannelList_OnUpdate()
 		if btn then
 			btn:RemoveTextures()
 			btn:SetHighlightTexture("Interface\\PaperDollInfoFrame\\UI-Character-Tab-Highlight")
-			_G["ChannelButton"..i.."Text"]:FontManager("default")
+			_G["ChannelButton"..i.."Text"]:SetFontObject(SVUI_Font_Default)
 		end
 	end
 end
@@ -192,7 +192,7 @@ local function FriendsFrameStyle()
 	FriendsFrameBattlenetFrame.BroadcastButton:SetScript('OnClick', function()
 		SV:StaticPopup_Show("SET_BN_BROADCAST")
 	end)
-	FriendsFrameBattlenetFrame.Tag:FontManager("narrator")
+	FriendsFrameBattlenetFrame.Tag:SetFontObject(SVUI_Font_Narrator)
 	AddFriendNameEditBox:SetStylePanel("Editbox")
 	AddFriendFrame:SetStylePanel("Fixed", "Transparent", true)
 	ScrollOfResurrectionSelectionFrame:SetStylePanel("Fixed", 'Transparent')
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua
index c8cfc00..55cb69e 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/garrison.lua
@@ -402,9 +402,9 @@ local function LoadGarrisonStyle()
 	GarrisonMissionFrame.MissionTab.MissionPage:SetPanelColor("special")

 	local missionChance = GarrisonMissionFrame.MissionTab.MissionPage.RewardsFrame.Chance;
-	missionChance:FontManager("number_big")
+	missionChance:SetFontObject(SVUI_Font_Number_Huge)
 	local chanceLabel = GarrisonMissionFrame.MissionTab.MissionPage.RewardsFrame.ChanceLabel
-	chanceLabel:FontManager("header", nil, -4)
+	chanceLabel:SetFontObject(SVUI_Font_Header)
 	chanceLabel:ClearAllPoints()
 	chanceLabel:SetPoint("TOP", missionChance, "BOTTOM", 0, -8)

diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/style_methods.lua b/Interface/AddOns/SVUI_StyleOMatic/components/style_methods.lua
index 602e21b..fd96f7e 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/style_methods.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/style_methods.lua
@@ -241,7 +241,7 @@ function PLUGIN:ApplyItemButtonStyle(frame, adjust, shrink, noScript)
 		if(countObject) then
 			countObject:SetParent(frame.Riser)
 			countObject:SetAllPoints(frame.Riser)
-			countObject:FontManager("number")
+			countObject:SetFontObject(SVUI_Font_Number)
 			countObject:SetDrawLayer("ARTWORK", 7)
 		end

@@ -251,7 +251,7 @@ function PLUGIN:ApplyItemButtonStyle(frame, adjust, shrink, noScript)

 		if(levelObject) then
 			levelObject:SetParent(frame.Riser)
-			levelObject:FontManager("number")
+			levelObject:SetFontObject(SVUI_Font_Number)
 			levelObject:SetDrawLayer("ARTWORK", 7)
 		end