Quantcast

Bringing this current with Curse

Munglunch [03-02-15 - 14:08]
Bringing this current with Curse
Filename
SVUI_!Core/Changelog-SVUI_!Core-r20150226011046.txt
SVUI_!Core/Changelog-SVUI_!Core-r20150302002535.txt
SVUI_!Core/SVUI_!Core.toc
SVUI_!Core/libs/_SVUI_Lib/Registry.lua
SVUI_!Core/system/_reports/experience.lua
SVUI_!Core/system/_reports/tokens.lua
SVUI_!Core/system/api.lua
SVUI_!Core/system/automations.lua
SVUI_!Core/system/dock.lua
SVUI_!Core/system/layout.lua
SVUI_!Core/system/media.lua
SVUI_!Core/system/overrides.lua
SVUI_!Core/system/reports.lua
SVUI_!Core/system/utilities.lua
SVUI_!Core/xml/styles.xml
SVUI_!Options/SVUI_!Options.lua
SVUI_!Options/SVUI_!Options.toc
SVUI_!Options/UnitFrames.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets.toc
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/BackgroundWidget.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/BorderWidget.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/FontWidget.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/LibStub/LibStub.toc
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/SoundWidget.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/StatusbarWidget.lua
SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/prototypes.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua
SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua
SVUI_FightOMatic/SVUI_FightOMatic.lua
SVUI_Inventory/Changelog-SVUI_Inventory-r20150226002001.txt
SVUI_Inventory/Changelog-SVUI_Inventory-r20150301050204.txt
SVUI_Inventory/SVUI_Inventory.lua
SVUI_Inventory/SVUI_Inventory.toc
SVUI_Maps/SVUI_Maps.lua
SVUI_QuestTracker/Changelog-SVUI_QuestTracker-r20150224202747.txt
SVUI_QuestTracker/Changelog-SVUI_QuestTracker-r20150302001907.txt
SVUI_QuestTracker/SVUI_QuestTracker.toc
SVUI_QuestTracker/components/quests.lua
SVUI_Skins/Changelog-SVUI_Skins-r20150226001917.txt
SVUI_Skins/Changelog-SVUI_Skins-r20150302001847.txt
SVUI_Skins/SVUI_Skins.toc
SVUI_Skins/components/addons/Ace3.lua
SVUI_Skins/components/blizzard/achievement.lua
SVUI_Skins/components/blizzard/petbattle.lua
SVUI_UnitFrames/Changelog-SVUI_UnitFrames-r20150224202846.txt
SVUI_UnitFrames/Changelog-SVUI_UnitFrames-r20150301045928.txt
SVUI_UnitFrames/SVUI_UnitFrames.toc
SVUI_UnitFrames/elements/essentials.lua
SVUI_UnitFrames/libs/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc
SVUI_UnitFrames/libs/Plugins/oUF_Afflicted/oUF_Afflicted.toc
SVUI_UnitFrames/libs/Plugins/oUF_AuraWatch/oUF_AuraWatch.toc
SVUI_UnitFrames/libs/Plugins/oUF_CombatFader/oUF_CombatFader.toc
SVUI_UnitFrames/libs/Plugins/oUF_Druidness/oUF_Druidness.toc
SVUI_UnitFrames/libs/Plugins/oUF_Experience/oUF_Experience.toc
SVUI_UnitFrames/libs/Plugins/oUF_Friendship/oUF_Friendship.toc
SVUI_UnitFrames/libs/Plugins/oUF_Gladiator/oUF_Gladiator.toc
SVUI_UnitFrames/libs/Plugins/oUF_MageMagic/oUF_MageMagic.toc
SVUI_UnitFrames/libs/Plugins/oUF_RaidDebuffs/oUF_RaidDebuffs.toc
SVUI_UnitFrames/libs/Plugins/oUF_Reputation/oUF_Reputation.toc
diff --git a/SVUI_!Core/Changelog-SVUI_!Core-r20150226011046.txt b/SVUI_!Core/Changelog-SVUI_!Core-r20150226011046.txt
deleted file mode 100644
index 5d260b3..0000000
--- a/SVUI_!Core/Changelog-SVUI_!Core-r20150226011046.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-Steven Jackson:
-	- transfer wizard code added
-	- api updates
-	- api updates
-	- Styling update of quest items and garrison panels
-	- build update
-	- issue #60 and #61 fixed
-	- release 1.0.04
-	- fixed more installer issues, visual adjustments
-	- Combat closing of anchors fixed
-	- toc updates
-	- colors, installer, profiles updated
-	- installer issues fixed
-	- more updates
-	- toc update
-	- pkgmeta update
-	- fix for struct part 2
-	- fix for file struct
-	- changing for packager
-	- Updating to the new core
-	- Cleaning up
-Munglunch:
-	- 5.4.2
-	- First Commit
diff --git a/SVUI_!Core/Changelog-SVUI_!Core-r20150302002535.txt b/SVUI_!Core/Changelog-SVUI_!Core-r20150302002535.txt
new file mode 100644
index 0000000..5ec5059
--- /dev/null
+++ b/SVUI_!Core/Changelog-SVUI_!Core-r20150302002535.txt
@@ -0,0 +1,30 @@
+Steven Jackson:
+	- toc update
+	- ace modifications
+	- Fixed exp bug and custom profiles
+	- Fixed profiles, filters and lua errors
+	- Fixed profiles, filters and vendoring
+	- api updates
+	- transfer wizard code added
+	- api updates
+	- api updates
+	- Styling update of quest items and garrison panels
+	- build update
+	- issue #60 and #61 fixed
+	- release 1.0.04
+	- fixed more installer issues, visual adjustments
+	- Combat closing of anchors fixed
+	- toc updates
+	- colors, installer, profiles updated
+	- installer issues fixed
+	- more updates
+	- toc update
+	- pkgmeta update
+	- fix for struct part 2
+	- fix for file struct
+	- changing for packager
+	- Updating to the new core
+	- Cleaning up
+Munglunch:
+	- 5.4.2
+	- First Commit
diff --git a/SVUI_!Core/SVUI_!Core.toc b/SVUI_!Core/SVUI_!Core.toc
index f683812..b074f97 100644
--- a/SVUI_!Core/SVUI_!Core.toc
+++ b/SVUI_!Core/SVUI_!Core.toc
@@ -1,6 +1,6 @@
 ## Interface: 60100
 ## Author: Munglunch
-## Version: 1.0.05
+## Version: 1.0.069
 ## Title: |cffFF9900SuperVillain UI: |r|cff00FF00!Core|r
 ## Notes: SVUI [|cff9911FFCore Framework|r].
 ## SavedVariables: SVUI_Global, SVUI_Errors, SVUI_Filters, SVUI_Media
@@ -13,11 +13,7 @@
 ## X-Donate: PayPal:munglunch@gmail.com
 ## X-License: All Rights Reserved
 ## X-Category: Interface Enhancements
-## X-Curse-Packaged-Version: r20150224152903
-## X-Curse-Project-Name: SuperVillain UI: Core
-## X-Curse-Project-ID: supervillain-ui
-## X-Curse-Repository-ID: wow/supervillain-ui/mainline
-## X-Curse-Packaged-Version: r20150226011046
+## X-Curse-Packaged-Version: r20150302002535
 ## X-Curse-Project-Name: SuperVillain UI: Core
 ## X-Curse-Project-ID: supervillain-ui
 ## X-Curse-Repository-ID: wow/supervillain-ui/mainline
diff --git a/SVUI_!Core/libs/_SVUI_Lib/Registry.lua b/SVUI_!Core/libs/_SVUI_Lib/Registry.lua
index 74a6c7f..38d818e 100644
--- a/SVUI_!Core/libs/_SVUI_Lib/Registry.lua
+++ b/SVUI_!Core/libs/_SVUI_Lib/Registry.lua
@@ -101,14 +101,17 @@ local PRIVATE_FILENAME      = CoreGlobalName.."_Private";
 local GLOBAL_SV, PRIVATE_SV, FILTER_SV, MEDIA_SV, ERROR_SV;
 local MODULES, PLUGINS;
 local LoadOnDemand, ScriptQueue = {},{};
+local DirtyDataList, DirtyMediaList = {},{};
 local debugHeader = "|cffFF2F00%s|r [|cff992FFF%s|r]|cffFF2F00:|r";
 local debugPattern = '|cffFF2F00%s|r [|cff0affff%s|r]|cffFF2F00:|r @|cffFF0000(|r%s|cffFF0000)|r - %s';

 local playerClass           = select(2,UnitClass("player"));
 local playerName            = UnitName("player");
-local SOURCE_KEY            = "Default";
-local PROFILE_THEME         = "Default";
-local PROFILE_KEY           = ("%s - %s"):format(playerName, SOURCE_KEY)
+local DEFAULT_THEME_KEY     = "Default";
+local PROFILE_THEME         = DEFAULT_THEME_KEY;
+local DEFAULT_PROFILE_KEY   = ("%s - Default"):format(playerName);
+local PROFILE_KEY           = DEFAULT_PROFILE_KEY;
+local DATESTAMP             = date("%m_%d_%y");

 local INFO_FORMAT = "|cffFFFF00%s|r\n        |cff33FF00Version: %s|r |cff0099FFby %s|r";

@@ -223,51 +226,43 @@ local function removedefaults(db, src, nometa)
     end
 end

-local function sanitizeType1(db, src, output)
+local function sanitize(db, src)
     local saved = PRIVATE_SV.SAFEDATA.SAVED;
     if((type(src) == "table")) then
         if(type(db) == "table") then
             for k,v in pairs(db) do
-                if(not src[k] and (not saved[k])) then
+                if((src[k] == nil) and (saved[k] == nil)) then
                     db[k] = nil
-                else
-                    if(src[k] ~= nil) then
-                        removedefaults(db[k], src[k])
-                    end
+                elseif(src[k] ~= nil) then
+                    removedefaults(db[k], src[k])
                 end
             end
-        else
-            db = {}
         end
     end
-    if(output) then
-        return db
-    end
 end

-local function sanitizeType2(db, src)
-    if((type(db) ~= "table") or (type(src) ~= "table")) then return end
-    local saved = PRIVATE_SV.SAFEDATA.SAVED;
-    for k,v in pairs(db) do
-        local defined = saved[k];
-        if(not src[k] and (not defined)) then
-            db[k] = nil
-        else
-            if(src[k] ~= nil) then
-                removedefaults(db[k], src[k])
-            end
+local function CleanupData(data)
+    local defaults = CoreObject.defaults
+    local media = CoreObject.mediadefaults
+    local filters = CoreObject.filterdefaults
+
+    for key,data in pairs(GLOBAL_SV.profiles) do
+        if(DirtyDataList[key]) then
+            sanitize(data, defaults)
         end
     end
-end
-
-local function CleanupData(data, checkLOD)
-    local sv = rawget(data, "data")
-    local src = rawget(data, "defaults")
-    if(checkLOD) then
-        sanitizeType2(sv, src)
-    else
-        sanitizeType1(sv, src)
+    for key,data in pairs(MEDIA_SV.profiles) do
+        if(key == playerName) then
+            for theme,themedata in pairs(data.Theme) do
+                if(DirtyMediaList[theme]) then
+                    sanitize(themedata, media)
+                end
+            end
+        elseif(key:find(playerName)) then
+            MEDIA_SV.profiles[key] = nil
+        end
     end
+    sanitize(FILTER_SV, filters)
 end

 --DATABASE META METHODS
@@ -302,66 +297,6 @@ local meta_database = {
     end,
 }

-local function GetProfileKeys()
-    PROFILE_KEY = ("%s - %s"):format(playerName, SOURCE_KEY)
-    if(PRIVATE_SV.SAFEDATA) then
-        if(PRIVATE_SV.SAFEDATA.DUALSPEC) then
-            local id = GetSpecialization();
-            if(id) then
-                local _, specName, _, _, _, _ = GetSpecializationInfo(id);
-                SOURCE_KEY = specName;
-            end
-        else
-            SOURCE_KEY = "Default";
-        end
-        if(PRIVATE_SV.SAFEDATA.CurrentProfile) then
-            PROFILE_KEY = PRIVATE_SV.SAFEDATA.CurrentProfile
-        end
-        if(PRIVATE_SV.SAFEDATA.THEME) then
-            PROFILE_THEME = PRIVATE_SV.SAFEDATA.THEME;
-            if not MEDIA_SV.profiles[PROFILE_KEY] then MEDIA_SV.profiles[PROFILE_KEY] = {} end
-            if not MEDIA_SV.profiles[PROFILE_KEY].Theme then MEDIA_SV.profiles[PROFILE_KEY].Theme = {} end
-            if not MEDIA_SV.profiles[PROFILE_KEY].Theme[PROFILE_THEME] then MEDIA_SV.profiles[PROFILE_KEY].Theme[PROFILE_THEME] = {} end
-        end
-    else
-        SOURCE_KEY = "Default";
-    end
-end
-
-local function LiveProfileChange()
-    local LastKey = SOURCE_KEY
-    GetProfileKeys()
-    if(PRIVATE_SV.SAFEDATA and PRIVATE_SV.SAFEDATA.DUALSPEC) then
-        lib.EventManager:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED")
-        if not GLOBAL_SV.profiles[PROFILE_KEY] then GLOBAL_SV.profiles[PROFILE_KEY] = {} end
-        if not MEDIA_SV.profiles[PROFILE_KEY] then MEDIA_SV.profiles[PROFILE_KEY] = {} end
-        if(LastKey ~= SOURCE_KEY) then
-            --construct core dataset
-            local db           = setmetatable({}, meta_transdata)
-            db.data            = GLOBAL_SV.profiles[PROFILE_KEY]
-            db.defaults        = CoreObject.defaults
-            wipe(CoreObject.db)
-            CoreObject.db      = db
-            --rawset(CoreObject.db, "data", GLOBAL_SV.profiles[PROFILE_KEY])
-
-            local media        = setmetatable({}, meta_transdata)
-            media.data         = MEDIA_SV.profiles[PROFILE_KEY].Theme[PROFILE_THEME]
-            media.defaults     = CoreObject.mediadefaults
-            wipe(CoreObject.media)
-            CoreObject.media   = media
-
-            if(CoreObject.ReLoad) then
-                CoreObject.Timers:ClearAllTimers()
-                CoreObject:ReLoad()
-            end
-
-            lib:RefreshAll()
-        end
-    else
-        lib.EventManager:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED")
-    end
-end
-
 --DATABASE PUBLIC METHODS
 function lib:Remove(key)
     if(GLOBAL_SV.profiles[key]) then GLOBAL_SV.profiles[key] = nil end
@@ -403,6 +338,7 @@ function lib:ImportDatabase(key, linked)
         local export = GLOBAL_SV.profiles[key];
         local saved = GLOBAL_SV.profiles[PROFILE_KEY];
         tablecopy(saved, export);
+        DirtyDataList[key] = true;
     else
         GLOBAL_SV.profiles[PROFILE_KEY] = GLOBAL_SV.profiles[key]
         PRIVATE_SV.SAFEDATA.CurrentProfile = key;
@@ -418,7 +354,10 @@ function lib:ExportDatabase(key)
     export = rawget(CoreObject.db, "data");
     saved = GLOBAL_SV.profiles[key];
     tablecopy(saved, export);
-    wipe(GLOBAL_SV.profileKeys)
+    PRIVATE_SV.SAFEDATA.CurrentProfile = key;
+    DirtyDataList[key] = true;
+
+    wipe(GLOBAL_SV.profileKeys);
     for k,v in pairs(GLOBAL_SV.profiles) do
         GLOBAL_SV.profileKeys[k] = k
     end
@@ -677,8 +616,12 @@ function lib:LoadModuleOptions()
     end
 end

-function lib:LiveUpdate(override)
-    if((PRIVATE_SV.SAFEDATA.NEEDSLIVEUPDATE or override) and not C_PetBattles.IsInBattle()) then
+function lib:LiveUpdate()
+    if(PRIVATE_SV.SAFEDATA.NEEDSLIVEUPDATE) then
+        if(CoreObject.ReLoad) then
+            CoreObject.Timers:ClearAllTimers()
+            CoreObject:ReLoad()
+        end
         self:RefreshAll()
         PRIVATE_SV.SAFEDATA.NEEDSLIVEUPDATE = false
     end
@@ -688,25 +631,149 @@ function lib:GetModuletable()
     return MODULES
 end

-function lib:CheckDualProfile()
-    return PRIVATE_SV.SAFEDATA.DUALSPEC
-end
+--[[ CONSTRUCTORS ]]--

-function lib:ToggleDualProfile(enabled)
-    PRIVATE_SV.SAFEDATA.DUALSPEC = enabled
-    if(enabled) then
-        self.EventManager:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED")
-        LiveProfileChange()
+local function UpdateProfileSources(bypass)
+    local PREVIOUS_PROFILE_KEY = PROFILE_KEY;
+
+    if(PRIVATE_SV.SAFEDATA.DUALSPEC) then
+        local specID = GetSpecialization();
+        if(specID) then
+            local _, SOURCE_KEY, _, _, _, _ = GetSpecializationInfo(specID);
+            if(not SOURCE_KEY) then SOURCE_KEY = "Default" end
+            PROFILE_KEY = ("%s - %s"):format(playerName, SOURCE_KEY)
+            PRIVATE_SV.SAFEDATA.CurrentProfile = PROFILE_KEY
+        elseif(PRIVATE_SV.SAFEDATA.CurrentProfile) then
+            PROFILE_KEY = PRIVATE_SV.SAFEDATA.CurrentProfile
+        else
+            PROFILE_KEY = DEFAULT_PROFILE_KEY
+            PRIVATE_SV.SAFEDATA.CurrentProfile = DEFAULT_PROFILE_KEY
+        end
+    elseif(PRIVATE_SV.SAFEDATA.CurrentProfile) then
+        PROFILE_KEY = PRIVATE_SV.SAFEDATA.CurrentProfile
     else
-        self.EventManager:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED")
+        PROFILE_KEY = DEFAULT_PROFILE_KEY
+        PRIVATE_SV.SAFEDATA.CurrentProfile = DEFAULT_PROFILE_KEY
+    end
+
+    DirtyDataList[PROFILE_KEY] = true;
+
+    if(PRIVATE_SV.SAFEDATA.THEME) then
+        PROFILE_THEME = PRIVATE_SV.SAFEDATA.THEME;
+    else
+        PROFILE_THEME = DEFAULT_THEME_KEY;
+    end
+
+    DirtyMediaList[PROFILE_THEME] = true;
+
+    if(not GLOBAL_SV.profiles[PROFILE_KEY]) then GLOBAL_SV.profiles[PROFILE_KEY] = {} end
+    if(not MEDIA_SV.profiles[playerName]) then MEDIA_SV.profiles[playerName] = {} end
+    if(not MEDIA_SV.profiles[playerName].Theme) then MEDIA_SV.profiles[playerName].Theme = {} end
+    if(not MEDIA_SV.profiles[playerName].Theme[PROFILE_THEME]) then MEDIA_SV.profiles[playerName].Theme[PROFILE_THEME] = {} end
+
+    if(not GLOBAL_SV.profileKeys[PROFILE_KEY]) then
+        for k,v in pairs(GLOBAL_SV.profiles) do
+            GLOBAL_SV.profileKeys[k] = k
+        end
+    end
+
+    if(PRIVATE_SV.SAFEDATA.DUALSPEC) then
+        lib.EventManager:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED")
+
+        if((not bypass) and (PREVIOUS_PROFILE_KEY ~= PROFILE_KEY)) then
+            local db           = setmetatable({}, meta_transdata)
+            db.data            = GLOBAL_SV.profiles[PROFILE_KEY]
+            db.defaults        = CoreObject.defaults
+            if(CoreObject.db) then wipe(CoreObject.db) end
+            CoreObject.db      = db
+
+            local media        = setmetatable({}, meta_transdata)
+            media.data         = MEDIA_SV.profiles[playerName].Theme[PROFILE_THEME]
+            media.defaults     = CoreObject.mediadefaults
+            if(CoreObject.media) then wipe(CoreObject.media) end
+            CoreObject.media   = media
+
+            if(CoreObject.ReLoad) then
+                CoreObject.Timers:ClearAllTimers()
+                CoreObject:ReLoad()
+            end
+
+            lib:RefreshAll()
+        end
+    else
+        lib.EventManager:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED")
     end
 end

---[[ CONSTRUCTORS ]]--
+local function UpdateCoreDatabases()
+    UpdateProfileSources(true)
+
+    local db           = setmetatable({}, meta_transdata)
+    db.data            = GLOBAL_SV.profiles[PROFILE_KEY]
+    db.defaults        = CoreObject.defaults
+    CoreObject.db      = db
+
+    local media        = setmetatable({}, meta_transdata)
+    media.data         = MEDIA_SV.profiles[playerName].Theme[PROFILE_THEME]
+    media.defaults     = CoreObject.mediadefaults
+    CoreObject.media   = media
+
+    local filters      = setmetatable({}, meta_transdata)
+    filters.data       = FILTER_SV
+    filters.defaults   = CoreObject.filterdefaults
+    CoreObject.filters = filters
+
+    local private      = setmetatable({}, meta_database)
+    private.data       = PRIVATE_SV
+    CoreObject.private = private

-local function ProcessLoadOnDemand()
-    local addonCount = GetNumAddOns();
-    for i = 1, addonCount do
+    CoreObject.ERRORLOG = ERROR_SV.FOUND
+    CoreObject.initialized = true
+end
+
+local function CorePreInitialize()
+    --PROFILE SAVED VARIABLES
+    if not _G[PRIVATE_FILENAME] then _G[PRIVATE_FILENAME] = {} end
+    PRIVATE_SV = _G[PRIVATE_FILENAME]
+    --PROFILE SAFE VARIABLES
+    if(not PRIVATE_SV.SAFEDATA) then PRIVATE_SV.SAFEDATA = {} end
+    if(not PRIVATE_SV.SAFEDATA.SAVED) then PRIVATE_SV.SAFEDATA.SAVED = {} end
+    if(not PRIVATE_SV.SAFEDATA.THEME) then PRIVATE_SV.SAFEDATA.THEME = DEFAULT_THEME_KEY end
+    if(not PRIVATE_SV.SAFEDATA.DUALSPEC) then PRIVATE_SV.SAFEDATA.DUALSPEC = false end
+    if(not PRIVATE_SV.SAFEDATA.NEEDSLIVEUPDATE) then PRIVATE_SV.SAFEDATA.NEEDSLIVEUPDATE = false end
+    --GLOBAL SAVED VARIABLES
+    if(not _G[GLOBAL_FILENAME]) then _G[GLOBAL_FILENAME] = {} end
+    GLOBAL_SV = _G[GLOBAL_FILENAME]
+    --GLOBAL PROFILE DATA
+    if(not GLOBAL_SV.profiles) then GLOBAL_SV.profiles = {} end
+    if(not GLOBAL_SV.profiles[PROFILE_KEY]) then GLOBAL_SV.profiles[PROFILE_KEY] = {} end
+    --GLOBAL KEY STORAGE (ALWAYS EMPTY ON LOGIN)
+    GLOBAL_SV.profileKeys = {}
+    --SAVED ERRORS
+    if not _G[ERROR_FILENAME] then _G[ERROR_FILENAME] = {} end
+    ERROR_SV = _G[ERROR_FILENAME]
+    --ONLY ALLOW TODAYS ERRORS
+    if(ERROR_SV.TODAY and ERROR_SV.TODAY ~= DATESTAMP) then
+        ERROR_SV.FOUND = {}
+    elseif(not ERROR_SV.FOUND) then
+        ERROR_SV.FOUND = {}
+    end
+    --UPDATE THE ERROR DATESTAMP
+    ERROR_SV.TODAY = DATESTAMP
+    --FILTER SAVED VARIABLES
+    if not _G[FILTERS_FILENAME] then _G[FILTERS_FILENAME] = {} end
+    FILTER_SV = _G[FILTERS_FILENAME]
+    --MEDIA SAVED VARIABLES
+    if not _G[MEDIA_FILENAME] then _G[MEDIA_FILENAME] = {} end
+    MEDIA_SV = _G[MEDIA_FILENAME]
+    --MEDIA PROFILE DATA
+    if(not MEDIA_SV.profiles) then MEDIA_SV.profiles = {} end
+    if(not MEDIA_SV.profiles[playerName]) then MEDIA_SV.profiles[playerName] = {} end
+    if(not MEDIA_SV.profiles[playerName].Theme) then MEDIA_SV.profiles[playerName].Theme = {} end
+
+    PROFILE_THEME = PRIVATE_SV.SAFEDATA.THEME;
+
+    for i = 1, GetNumAddOns() do
         local addonName, _, _, _, _, reason = GetAddOnInfo(i)

         if(IsAddOnLoadOnDemand(i)) then
@@ -774,98 +841,8 @@ local function ProcessLoadOnDemand()
             end
         end
     end
-end
-
-function lib:UpdateCoreDatabases()
-    local db           = setmetatable({}, meta_transdata)
-    db.data            = GLOBAL_SV.profiles[PROFILE_KEY]
-    db.defaults        = CoreObject.defaults
-    CoreObject.db      = db
-
-    local media        = setmetatable({}, meta_transdata)
-    media.data         = MEDIA_SV.profiles[PROFILE_KEY].Theme[PROFILE_THEME]
-    media.defaults     = CoreObject.mediadefaults
-    CoreObject.media   = media
-
-    local filters      = setmetatable({}, meta_transdata)
-    filters.data       = FILTER_SV
-    filters.defaults   = CoreObject.filterdefaults
-    CoreObject.filters = filters
-
-    local private      = setmetatable({}, meta_database)
-    private.data       = PRIVATE_SV
-    CoreObject.private = private
-
-    CoreObject.ERRORLOG = ERROR_SV.FOUND
-end
-
-local function CorePreInitialize()
-    local coreSchema = CoreObject.Schema
-
-    --PROFILE SAVED VARIABLES
-    if not _G[PRIVATE_FILENAME] then _G[PRIVATE_FILENAME] = {} end
-    PRIVATE_SV = _G[PRIVATE_FILENAME]
-    if not PRIVATE_SV.SAFEDATA then PRIVATE_SV.SAFEDATA = {} end
-    if not PRIVATE_SV.SAFEDATA.SAVED then PRIVATE_SV.SAFEDATA.SAVED = {} end
-    if not PRIVATE_SV.SAFEDATA.THEME then PRIVATE_SV.SAFEDATA.THEME = "Default" end
-    if not PRIVATE_SV.SAFEDATA.DUALSPEC then PRIVATE_SV.SAFEDATA.DUALSPEC = false end
-    if not PRIVATE_SV.SAFEDATA.NEEDSLIVEUPDATE then PRIVATE_SV.SAFEDATA.NEEDSLIVEUPDATE = false end
-
-    --GLOBAL SAVED VARIABLES
-    if not _G[GLOBAL_FILENAME] then _G[GLOBAL_FILENAME] = {} end
-    GLOBAL_SV = _G[GLOBAL_FILENAME]
-
-    if(GLOBAL_SV.profileKeys) then
-      wipe(GLOBAL_SV.profileKeys)
-    else
-      GLOBAL_SV.profileKeys = {}
-    end

-    --SAVED ERRORS
-    if not _G[ERROR_FILENAME] then _G[ERROR_FILENAME] = {} end
-    ERROR_SV = _G[ERROR_FILENAME]
-
-    local datestamp = date("%m_%d_%y")
-
-    if(ERROR_SV.TODAY and ERROR_SV.TODAY ~= datestamp) then
-        ERROR_SV.FOUND = {}
-    end
-
-    if(not ERROR_SV.FOUND) then
-        ERROR_SV.FOUND = {}
-    end
-
-    ERROR_SV.TODAY = datestamp
-
-    --MEDIA SAVED VARIABLES
-    if not _G[MEDIA_FILENAME] then _G[MEDIA_FILENAME] = {} end
-    MEDIA_SV = _G[MEDIA_FILENAME]
-
-    --FILTER SAVED VARIABLES
-    if not _G[FILTERS_FILENAME] then _G[FILTERS_FILENAME] = {} end
-    FILTER_SV = _G[FILTERS_FILENAME]
-
-    if not GLOBAL_SV.profiles then GLOBAL_SV.profiles = {} end
-    for k,v in pairs(GLOBAL_SV.profiles) do
-        GLOBAL_SV.profileKeys[k] = k
-    end
-    if not MEDIA_SV.profiles then MEDIA_SV.profiles = {} end
-    if not GLOBAL_SV.profiles[PROFILE_KEY] then GLOBAL_SV.profiles[PROFILE_KEY] = {} end
-    if not MEDIA_SV.profiles[PROFILE_KEY] then MEDIA_SV.profiles[PROFILE_KEY] = {} end
-    if not MEDIA_SV.profiles[PROFILE_KEY].Theme then MEDIA_SV.profiles[PROFILE_KEY].Theme = {} end
-
-    GetProfileKeys()
-
-    --KEY AND SPEC BASED VARIABLES
-    if(PRIVATE_SV.SAFEDATA.DUALSPEC) then
-        lib.EventManager:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED")
-    else
-        lib.EventManager:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED")
-    end
-
-    ProcessLoadOnDemand()
-    lib:UpdateCoreDatabases()
-    CoreObject.initialized = true
+    UpdateCoreDatabases()
 end

 --LIBRARY EVENT HANDLING
@@ -880,9 +857,7 @@ local Library_OnEvent = function(self, event, arg, ...)
             saved = GLOBAL_SV.profiles[key];
             tablecopy(saved, export);
         end
-        CleanupData(CoreObject.db, true)
-        CleanupData(CoreObject.filters)
-        CleanupData(CoreObject.media)
+        CleanupData()
     elseif(event == "ADDON_LOADED") then
         if(arg == CoreName) then
             CorePreInitialize()
@@ -897,14 +872,15 @@ local Library_OnEvent = function(self, event, arg, ...)
         if(not CoreObject.___initialized and CoreObject.Initialize and IsLoggedIn()) then
             if(CoreObject.LoadTheme) then
                 CoreObject:LoadTheme()
-                lib:UpdateCoreDatabases()
             end
+            UpdateCoreDatabases()
             CoreObject:Initialize()
             CoreObject.___initialized = true
             self:UnregisterEvent("PLAYER_LOGIN")
         end
+        PRIVATE_SV.SAFEDATA.NEEDSLIVEUPDATE = C_PetBattles.IsInBattle()
     elseif(event == "ACTIVE_TALENT_GROUP_CHANGED") then
-        LiveProfileChange()
+        UpdateProfileSources()
     end
 end

@@ -1219,8 +1195,6 @@ function lib:Launch()
         end
     end

-    PRIVATE_SV.SAFEDATA.NEEDSLIVEUPDATE = C_PetBattles.IsInBattle()
-
     if PLUGINS then
         for i=1,#PLUGINS do
             local halt = false;
@@ -1275,6 +1249,15 @@ function lib:LoadScripts()
     end
 end

+function lib:CheckDualProfile()
+    return PRIVATE_SV.SAFEDATA.DUALSPEC
+end
+
+function lib:ToggleDualProfile(enabled)
+    PRIVATE_SV.SAFEDATA.DUALSPEC = enabled
+    UpdateProfileSources()
+end
+
 --[[ UNUSED

 local DB_QUEUE;
diff --git a/SVUI_!Core/system/_reports/experience.lua b/SVUI_!Core/system/_reports/experience.lua
index 689a7ab..be1454d 100644
--- a/SVUI_!Core/system/_reports/experience.lua
+++ b/SVUI_!Core/system/_reports/experience.lua
@@ -36,24 +36,42 @@ EXPERIENCE STATS
 ]]--
 local StatEvents = {"PLAYER_ENTERING_WORLD", "PLAYER_XP_UPDATE", "PLAYER_LEVEL_UP", "DISABLE_XP_GAIN", "ENABLE_XP_GAIN", "UPDATE_EXHAUSTION"};

-local function getUnitXP(unit)
-	if unit == "pet"then
-		return GetPetExperience()
-	else
-		return UnitXP(unit),UnitXPMax(unit)
-	end
-end
-
-local function TruncateString(value)
-    if value >= 1e9 then
-        return ("%.1fb"):format(value/1e9):gsub("%.?0+([kmb])$","%1")
+local function FormatExp(value, maxValue)
+	local trunc, calc;
+    if value >= 1e9 then
+        trunc = ("%.1fb"):format(value/1e9):gsub("%.?0+([kmb])$","%1")
     elseif value >= 1e6 then
-        return ("%.1fm"):format(value/1e6):gsub("%.?0+([kmb])$","%1")
+        trunc = ("%.1fm"):format(value/1e6):gsub("%.?0+([kmb])$","%1")
     elseif value >= 1e3 or value <= -1e3 then
-        return ("%.1fk"):format(value/1e3):gsub("%.?0+([kmb])$","%1")
+        trunc = ("%.1fk"):format(value/1e3):gsub("%.?0+([kmb])$","%1")
     else
-        return value
-    end
+        trunc = value
+    end
+    if((value > 0) and (maxValue > 0)) then
+    	calc = (value / maxValue) * 100
+    else
+    	calc = maxValue
+    end
+    return trunc, calc
+end
+
+local function FetchExperience()
+	local xp = UnitXP("player")
+	if((not xp) or (xp <= 0)) then
+		xp = 1
+	end
+
+	local mxp = UnitXPMax("player")
+	if((not mxp) or (mxp <= 0)) then
+		mxp = 1
+	end
+
+	local exp = GetXPExhaustion()
+	if(not exp) then
+		exp = 0
+	end
+
+	return xp,mxp,exp
 end

 local function Experience_OnEvent(self, ...)
@@ -62,15 +80,19 @@ local function Experience_OnEvent(self, ...)
 		self.text:SetJustifyH("CENTER")
 		self.barframe:Hide()
 	end
-	local f, g = getUnitXP("player")
-	local h = GetXPExhaustion()
-	local i = ""
-	if h and h > 0 then
-		i = format("%s - %d%% R:%s [%d%%]", TruncateString(f), f / g * 100, TruncateString(h), h / g * 100)
+
+	local XP, maxXP, exhaust = FetchExperience()
+	local string1, calc1 = FormatExp(XP, maxXP);
+	local text = "";
+
+	if(exhaust > 0) then
+		local string2, calc2 = FormatExp(exhaust, maxXP);
+		text = format("%s - %d%% R:%s [%d%%]", string1, calc1, string2, calc2)
 	else
-		i = format("%s - %d%%", TruncateString(f), f / g * 100)
-	end
-	self.text:SetText(i)
+		text = format("%s - %d%%", string1, calc1)
+	end
+
+	self.text:SetText(text)
 end

 local function ExperienceBar_OnEvent(self, ...)
@@ -81,36 +103,44 @@ local function ExperienceBar_OnEvent(self, ...)
 	if not self.barframe.bar.extra:IsShown() then
 		self.barframe.bar.extra:Show()
 	end
-	local k = self.barframe.bar;
-	local f, g = getUnitXP("player")
-	k:SetMinMaxValues(0, g)
-	k:SetValue((f - 1) >= 0 and (f - 1) or 0)
-	k:SetStatusBarColor(0, 0.5, 1)
-	local h = GetXPExhaustion()
-	if h and h>0 then
-		k.extra:SetMinMaxValues(0, g)
-		k.extra:SetValue(min(f + h, g))
-		k.extra:SetStatusBarColor(0.8, 0.5, 1)
-		k.extra:SetAlpha(0.5)
+	local bar = self.barframe.bar;
+	local XP, maxXP, exhaust = FetchExperience()
+
+	bar:SetMinMaxValues(0, maxXP)
+	bar:SetValue(XP)
+	bar:SetStatusBarColor(0, 0.5, 1)
+
+	if(exhaust > 0) then
+		local exhaust_value = min(XP + exhaust, maxXP);
+		bar.extra:SetMinMaxValues(0, maxXP)
+		bar.extra:SetValue(exhaust_value)
+		bar.extra:SetStatusBarColor(0.8, 0.5, 1)
+		bar.extra:SetAlpha(0.5)
 	else
-		k.extra:SetMinMaxValues(0, 1)
-		k.extra:SetValue(0)
+		bar.extra:SetMinMaxValues(0, 1)
+		bar.extra:SetValue(0)
 	end
 	self.text:SetText("")
 end

 local function Experience_OnEnter(self)
 	Reports:SetDataTip(self)
-	local XP, maxXP = getUnitXP("player")
-	local h = GetXPExhaustion()
+	local XP, maxXP, exhaust = FetchExperience()
 	Reports.ReportTooltip:AddLine(L["Experience"])
 	Reports.ReportTooltip:AddLine(" ")

-	Reports.ReportTooltip:AddDoubleLine(L["XP:"], (" %d  /  %d (%d%%)"):format(XP, maxXP, (XP / maxXP) * 100), 1, 1, 1)
-	Reports.ReportTooltip:AddDoubleLine(L["Remaining:"], (" %d (%d%% - %d "..L["Bars"]..")"):format(maxXP - XP, (maxXP - XP) / maxXP * 100, 20 * (maxXP - XP) / maxXP), 1, 1, 1)
-	if h then
-		Reports.ReportTooltip:AddDoubleLine(L["Rested:"], format(" + %d (%d%%)", h, h / maxXP * 100), 1, 1, 1)
-	end
+	if((XP > 0) and (maxXP > 0)) then
+		local calc1 = (XP / maxXP) * 100;
+		local remaining = maxXP - XP;
+		local r_percent = (remaining / maxXP) * 100;
+		local r_bars = r_percent / 5;
+		Reports.ReportTooltip:AddDoubleLine(L["XP:"], (" %d  /  %d (%d%%)"):format(XP, maxXP, calc1), 1, 1, 1)
+		Reports.ReportTooltip:AddDoubleLine(L["Remaining:"], (" %d (%d%% - %d "..L["Bars"]..")"):format(remaining, r_percent, r_bars), 1, 1, 1)
+		if(exhaust > 0) then
+			local _, calc2 = FormatExp(exhaust, maxXP);
+			Reports.ReportTooltip:AddDoubleLine(L["Rested:"], format(" + %d (%d%%)", exhaust, calc2), 1, 1, 1)
+		end
+	end
 	Reports:ShowDataTip()
 end

diff --git a/SVUI_!Core/system/_reports/tokens.lua b/SVUI_!Core/system/_reports/tokens.lua
index 2dae088..5a22189 100644
--- a/SVUI_!Core/system/_reports/tokens.lua
+++ b/SVUI_!Core/system/_reports/tokens.lua
@@ -120,6 +120,7 @@ local function CacheTokenData(self)
         AddToTokenMenu(self, 1008, key)
         AddToTokenMenu(self, 1017, key)
     end
+    AddToTokenMenu(self, 994, key)
     AddToTokenMenu(self, 697, key)
     AddToTokenMenu(self, 738, key)
     AddToTokenMenu(self, 615, key)
@@ -164,6 +165,7 @@ local function Tokens_OnEnter(self)

 	Reports.ReportTooltip:AddLine(" ")
 	Reports.ReportTooltip:AddLine("Raiding and Dungeons")
+  TokenInquiry(994, false, true)
 	TokenInquiry(697, false, true)
 	TokenInquiry(738)
 	TokenInquiry(615)
diff --git a/SVUI_!Core/system/api.lua b/SVUI_!Core/system/api.lua
index e9bc146..da929e5 100644
--- a/SVUI_!Core/system/api.lua
+++ b/SVUI_!Core/system/api.lua
@@ -476,12 +476,14 @@ local HookCustomBackdrop = function(self)
             local newBgFile = SV.media.background[bgid]
             local newBorderFile = SV.media.border[bgid]
             if(newBgFile and newBorderFile) then
+                local w,h = self:GetSize()
+                local sizeMod = max(w,h)
                 local edgeSize = self.Panel:GetAttribute("panelPadding") or 1
                 self.Panel:SetBackdrop({
                     bgFile = newBgFile,
                     edgeFile = newBorderFile,
-                    tile = false,
-                    tileSize = 0,
+                    tile = true,
+                    tileSize = sizeMod,
                     edgeSize = edgeSize,
                     insets =
                     {
@@ -734,22 +736,18 @@ function MOD:APPLY(frame, templateName, underlay, padding, xOffset, yOffset, def
         panel:SetAttribute("panelLocked", true)
     end

+    padding = padding or panel:GetAttribute("panelPadding")
     if(forcedOffset) then
         xOffset = xOffset or forcedOffset
         yOffset = yOffset or forcedOffset
-    elseif(underlay) then
-        xOffset = xOffset or 0
-        yOffset = yOffset or 0
     else
-        xOffset = xOffset or 1
-        yOffset = yOffset or 1
+        xOffset = xOffset or padding
+        yOffset = yOffset or padding
     end

     --panel:WrapPoints(frame, xOffset, yOffset)
     panel:SetPoint("TOPLEFT", frame, "TOPLEFT", -xOffset, yOffset)
     panel:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", xOffset, -yOffset)
-
-    padding = padding or panel:GetAttribute("panelPadding")

     if(padding and panel.BorderLeft) then
         panel.BorderLeft:SetWidth(padding)
@@ -944,17 +942,12 @@ MOD.Methods["Checkbox"] = function(self, frame, inverse, x, y)
     if(not frame or (frame and frame.Panel)) then return end

     local width, height = frame:GetSize()
-    local mod = width * 0.25
-    x = x or -mod
-    y = y or -mod
-
-    width = width + (x or 0)
-    height = height + (y or 0)
-
+    width = width * 0.7
+    height = height * 0.7
     frame:SetSize(width, height)

     local underlay = (not inverse)
-    self:APPLY(frame, "Checkbox", inverse, 1, x, y)
+    self:APPLY(frame, "Checkbox", inverse, 1, 1, 1)

     if(frame.SetNormalTexture) then
         frame:SetNormalTexture("")
@@ -1789,7 +1782,7 @@ MOD.Concepts["DropDown"] = function(self, adjustable, frame, width)
     local ddText = _G[("%sText"):format(ddName)]
     local ddButton = _G[("%sButton"):format(ddName)]

-    if not width then width = frame:GetWidth() or 155 end
+    if not width then width = max(frame:GetWidth(), 128) end

     RemoveTextures(frame)
     frame:SetWidth(width)
diff --git a/SVUI_!Core/system/automations.lua b/SVUI_!Core/system/automations.lua
index 704e7a7..4208449 100644
--- a/SVUI_!Core/system/automations.lua
+++ b/SVUI_!Core/system/automations.lua
@@ -121,11 +121,7 @@ function SV:VendorGrays(destroy, silent, request)
 								PickupMerchantItem()
 							end
 							totalValue = totalValue + sellPrice
-						elseif(itemID and SV.Inventory and SV.Inventory.private and SV.Inventory.private.junk[itemID]) then
-							if(not request) then
-								UseContainerItem(bagID, slot)
-								PickupMerchantItem()
-							end
+						elseif(SV.Inventory and (not request) and SV.Inventory:VendorCheck(itemID, bagID, slot)) then
 							totalValue = totalValue + sellPrice
 						end
 					end
diff --git a/SVUI_!Core/system/dock.lua b/SVUI_!Core/system/dock.lua
index 8a4a70e..7e0b7a5 100644
--- a/SVUI_!Core/system/dock.lua
+++ b/SVUI_!Core/system/dock.lua
@@ -1290,6 +1290,8 @@ function MOD:Load()
 	SV:ManageVisibility(self.BottomRight.Window)
 	SV:ManageVisibility(self.TopLeft)
 	SV:ManageVisibility(self.TopRight)
+	--SV:ManageVisibility(self.BottomCenter)
+	SV:ManageVisibility(self.TopCenter)

 	local centerWidth = SV.db.Dock.dockCenterWidth;
 	local dockHeight = SV.db.Dock.dockCenterHeight;
diff --git a/SVUI_!Core/system/layout.lua b/SVUI_!Core/system/layout.lua
index 37d2f06..3605e0b 100644
--- a/SVUI_!Core/system/layout.lua
+++ b/SVUI_!Core/system/layout.lua
@@ -707,6 +707,7 @@ function Layout:Reset(request, bypass)
 end

 function Layout:Update()
+	self.Anchors = SV.db.LAYOUT or {}
 	for frameName, frameData in pairs(self.Frames) do
 		local frame = _G[frameName];
 		local anchor1, parent, anchor2, x, y;
diff --git a/SVUI_!Core/system/media.lua b/SVUI_!Core/system/media.lua
index 35bc5a8..d2fd42f 100644
--- a/SVUI_!Core/system/media.lua
+++ b/SVUI_!Core/system/media.lua
@@ -239,6 +239,7 @@ do
 			["unitlarge"] 	= [[Interface\AddOns\SVUI_!Core\assets\backgrounds\unit\UNIT-BG1]],
 			["unitsmall"] 	= [[Interface\AddOns\SVUI_!Core\assets\backgrounds\unit\UNIT-SMALL-BG1]],
 			["checkbox"]    = [[Interface\AddOns\SVUI_!Core\assets\buttons\CHECK-BG]],
+			["dark"]    	= [[Interface\AddOns\SVUI_!Core\assets\backgrounds\DARK]],
 		},
 		["border"] = {
 			["default"] 	= [[Interface\AddOns\SVUI_!Core\assets\borders\DEFAULT]],
@@ -491,6 +492,20 @@ do
 			        bottom = 0,
 			    },
 			},
+			["shadowoutline"] = {
+				bgFile = [[Interface\AddOns\SVUI_!Core\assets\textures\EMPTY]],
+			    tile = false,
+			    tileSize = 0,
+			    edgeFile = [[Interface\AddOns\SVUI_!Core\assets\borders\SHADOW]],
+			    edgeSize = 3,
+			    insets =
+			    {
+			        left = 0,
+			        right = 0,
+			        top = 0,
+			        bottom = 0,
+			    },
+			},
 		}
 	};
 end
diff --git a/SVUI_!Core/system/overrides.lua b/SVUI_!Core/system/overrides.lua
index c7b3a6b..8cd7a94 100644
--- a/SVUI_!Core/system/overrides.lua
+++ b/SVUI_!Core/system/overrides.lua
@@ -764,7 +764,7 @@ SVUI_AltPowerBar:SetPoint("TOP", SVUI_DockTopCenter, "BOTTOM", 0, -60)
 SVUI_AltPowerBar:SetSize(128, 50)

 local SVUI_BailOut = CreateFrame("Button", "SVUI_BailOut", UIParent)
-SVUI_BailOut:SetSize(30, 30)
+SVUI_BailOut:SetSize(50, 50)
 SVUI_BailOut:SetPoint("TOP", SVUI_DockTopCenter, "BOTTOM", 0, -10)

 local PVPRaidNoticeHandler = function(self, event, msg)
@@ -920,7 +920,10 @@ local function SetOverrides()
 	PlayerPowerBarAlt.ignoreFramePositionManager = true;
 	SV:NewAnchor(SVUI_AltPowerBar, L["Alternative Power"])

-	SVUI_BailOut:ModSize(30, 30)
+	SVUI_BailOut:ClearAllPoints()
+	local size = SVUI_Player:GetHeight()
+	SVUI_BailOut:SetSize(size, size)
+	SVUI_BailOut:SetPoint("TOPLEFT", SVUI_Player, "TOPRIGHT", 4, 0)
 	SVUI_BailOut:SetNormalTexture(SV.media.icon.exitIcon)
 	SVUI_BailOut:SetPushedTexture(SV.media.icon.exitIcon)
 	SVUI_BailOut:SetHighlightTexture(SV.media.icon.exitIcon)
diff --git a/SVUI_!Core/system/reports.lua b/SVUI_!Core/system/reports.lua
index dbbebe7..97dda2a 100644
--- a/SVUI_!Core/system/reports.lua
+++ b/SVUI_!Core/system/reports.lua
@@ -141,6 +141,7 @@ local _hook_TooltipOnShow = function(self)
 end

 local function TruncateString(value)
+	if(not value or value == 0) then return 0 end
 	if value >= 1e9 then
 		return ("%.1fb"):format(value/1e9):gsub("%.?0+([kmb])$","%1")
 	elseif value >= 1e6 then
@@ -448,53 +449,55 @@ do
 		local allowPvP = (db.battleground and not ForceHideBGStats) or false

 		for reportIndex, parent in ipairs(anchorTable) do
-			local slots = parent.Stats.Slots;
-			local numPoints = #slots;
-			local pvpIndex = parent.Stats.BGStats;
-			local pvpSwitch = (allowPvP and pvpIndex and (MOD.BGHolders[pvpIndex] == reportIndex))
-
-			for i = 1, numPoints do
-				local pvpTable = (pvpSwitch and PVP_INFO_SORTING[pvpIndex]) and PVP_INFO_SORTING[pvpIndex][i]
-				local slot = slots[i];
-
-				slot:UnregisterAllEvents()
-				slot:SetScript("OnUpdate", nil)
-				slot:SetScript("OnEnter", nil)
-				slot:SetScript("OnLeave", nil)
-				slot:SetScript("OnClick", nil)
-				slot.text:SetText(nil)
-
-				if slot.barframe then
-					slot.barframe:Hide()
-				end
+			if(parent.Stats and parent.Stats.Slots) then
+				local slots = parent.Stats.Slots;
+				local numPoints = #slots;
+				local pvpIndex = parent.Stats.BGStats;
+				local pvpSwitch = (allowPvP and pvpIndex and (MOD.BGHolders[pvpIndex] == reportIndex))
+
+				for i = 1, numPoints do
+					local pvpTable = (pvpSwitch and PVP_INFO_SORTING[pvpIndex]) and PVP_INFO_SORTING[pvpIndex][i]
+					local slot = slots[i];
+
+					slot:UnregisterAllEvents()
+					slot:SetScript("OnUpdate", nil)
+					slot:SetScript("OnEnter", nil)
+					slot:SetScript("OnLeave", nil)
+					slot:SetScript("OnClick", nil)
+					slot.text:SetText(nil)
+
+					if slot.barframe then
+						slot.barframe:Hide()
+					end

-				slot:Hide()
-
-				if(pvpTable and ((instance and groupType == "pvp") or parent.lockedOpen)) then
-					slot.scoreindex = PVP_INFO_LOOKUP[pvpTable][1]
-					slot.scoretype = PVP_INFO_LOOKUP[pvpTable][2]
-					slot:RegisterEvent("UPDATE_BATTLEFIELD_SCORE")
-					slot:SetScript("OnEvent", BG_OnUpdate)
-					slot:SetScript("OnEnter", BG_OnEnter)
-					slot:SetScript("OnLeave", Stat_OnLeave)
-					slot:SetScript("OnClick", BG_OnClick)
-
-					BG_OnUpdate(slot)
-
-					slot:Show()
-				else
-					for name, config in pairs(reportTable) do
-						for panelIndex, panelData in pairs(db.holders) do
-							if(panelData and type(panelData) == "table") then
-								if(panelIndex == reportIndex and panelData[i] and panelData[i] == name) then
-									_load(slot, name, config)
+					slot:Hide()
+
+					if(pvpTable and ((instance and groupType == "pvp") or parent.lockedOpen)) then
+						slot.scoreindex = PVP_INFO_LOOKUP[pvpTable][1]
+						slot.scoretype = PVP_INFO_LOOKUP[pvpTable][2]
+						slot:RegisterEvent("UPDATE_BATTLEFIELD_SCORE")
+						slot:SetScript("OnEvent", BG_OnUpdate)
+						slot:SetScript("OnEnter", BG_OnEnter)
+						slot:SetScript("OnLeave", Stat_OnLeave)
+						slot:SetScript("OnClick", BG_OnClick)
+
+						BG_OnUpdate(slot)
+
+						slot:Show()
+					else
+						for name, config in pairs(reportTable) do
+							for panelIndex, panelData in pairs(db.holders) do
+								if(panelData and type(panelData) == "table") then
+									if(panelIndex == reportIndex and panelData[i] and panelData[i] == name) then
+										_load(slot, name, config)
+									end
+								elseif(panelData and type(panelData) == "string" and panelData == name) then
+									_load(slot, name, config)
 								end
-							elseif(panelData and type(panelData) == "string" and panelData == name) then
-								_load(slot, name, config)
-							end
-						end
+							end
+						end
 					end
-				end
+				end
 			end
 		end

@@ -605,7 +608,6 @@ function MOD:Load()
 	bottomRight:SetPoint("BOTTOMRIGHT", SV.Dock.BottomCenter, "BOTTOMRIGHT", 0, 0)
 	SV:NewAnchor(bottomRight, L["Data Reports 2"])
 	self:NewHolder(bottomRight, 3, "ANCHOR_CURSOR")
-	--SV:ManageVisibility(self.BottomCenter)

 	--TOP CENTER BARS
 	local topLeft = CreateFrame("Frame", "SVUI_ReportsGroup3", SV.Dock.TopCenter)
@@ -626,8 +628,6 @@ function MOD:Load()
 	self.ReportGroup2 = bottomRight;
 	self.ReportGroup3 = topLeft;
 	self.ReportGroup4 = topRight;
-
-	SV:ManageVisibility(self.TopCenter)

 	-- self.ReportTooltip:SetParent(SV.Screen)
 	self.ReportTooltip:SetFrameStrata("DIALOG")
diff --git a/SVUI_!Core/system/utilities.lua b/SVUI_!Core/system/utilities.lua
index 4096d6f..ea043a8 100644
--- a/SVUI_!Core/system/utilities.lua
+++ b/SVUI_!Core/system/utilities.lua
@@ -51,22 +51,26 @@ do

     function SV:ManageVisibility(frame)
         if(not frame) then return end
+        local parent = UIParent;
         if(frame.GetParent) then
-            FRAMELIST[frame] = frame:GetParent()
-        end
+            parent = frame:GetParent();
+        end
+        tinsert(FRAMELIST, {frame = frame, parent = parent})
     end

     function SV:AuditVisibility(hidden)
         if(hidden) then
           self.NeedsFrameAudit = true
           if(InCombatLockdown()) then return end
-          for frame, _ in pairs(FRAMELIST)do
-              frame:SetParent(self.Hidden)
+          for i=1, #FRAMELIST do
+            local data = FRAMELIST[i]
+            data.frame:SetParent(self.Hidden)
           end
         else
           if(InCombatLockdown()) then return end
-          for frame, parent in pairs(FRAMELIST) do
-              frame:SetParent(parent or UIParent)
+          for i=1, #FRAMELIST do
+            local data = FRAMELIST[i]
+            data.frame:SetParent(data.parent or UIParent)
           end
           self.NeedsFrameAudit = false
         end
diff --git a/SVUI_!Core/xml/styles.xml b/SVUI_!Core/xml/styles.xml
index 323db4c..ceadbcf 100644
--- a/SVUI_!Core/xml/styles.xml
+++ b/SVUI_!Core/xml/styles.xml
@@ -162,7 +162,7 @@
             <Attribute name="panelOffset" type="number" value="0" />
             <Attribute name="shadowAlpha" type="number" value="0.5" />
         </Attributes>
-        <Backdrop bgFile="Interface\DialogFrame\UI-DialogBox-Background" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
+        <Backdrop bgFile="Interface\AddOns\SVUI_!Core\assets\backgrounds\EMPTY" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
             <EdgeSize val="1" />
             <TileSize val="0" />
             <BackgroundInsets left="1" right="1" top="1" bottom="1" />
@@ -276,21 +276,21 @@
         <Attributes>
             <Attribute name="panelID" type="string" value="bar" />
             <Attribute name="panelPadding" type="number" value="1" />
-            <Attribute name="panelColor" type="string" value="dark" />
+            <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_!Core\assets\backgrounds\DEFAULT" edgeFile="Interface\AddOns\SVUI_!Core\assets\borders\DEFAULT" tile="false">
+        <Backdrop bgFile="Interface\AddOns\SVUI_!Core\assets\backgrounds\TRANSPARENT" edgeFile="Interface\AddOns\SVUI_!Core\assets\borders\DEFAULT" 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="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_!Core\assets\backgrounds\DEFAULT" setAllPoints="true" />
+                <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI_!Core\assets\backgrounds\TRANSPARENT" setAllPoints="true" />
                 <Color r="0" g="0" b="0" a="0.5" />
             </Layer>
         </Layers>
diff --git a/SVUI_!Options/SVUI_!Options.lua b/SVUI_!Options/SVUI_!Options.lua
index 00f5d2e..15bed55 100644
--- a/SVUI_!Options/SVUI_!Options.lua
+++ b/SVUI_!Options/SVUI_!Options.lua
@@ -158,7 +158,7 @@ local function RefreshProfileOptions()
 		type = "input",
 		order = 6,
 		get = false,
-		set = function(key, value) SVUILib:ExportDatabase(value) SV:SavedPopup() end,
+		set = function(key, value) SVUILib:ExportDatabase(value) SV:SavedPopup() RefreshProfileOptions() end,
 	}
 	optionGroup.copy = {
 		name = L["Copy From"],
@@ -166,17 +166,17 @@ local function RefreshProfileOptions()
 		type = "select",
 		order = 7,
 		get = function() return currentProfile end,
-		set = function(key, value) SV:CopyProfile(value) RefreshProfileOptions() end,
+		set = function(key, value) SV:CopyProfile(value) SV:SavedPopup() RefreshProfileOptions() end,
 		disabled = function() local t = SVUILib:CheckProfiles() return (not t) end,
 		values = SVUILib:GetProfiles(),
 	}
 	optionGroup.import = {
-		name = L["Link To"],
+		name = L["Change"],
 		desc = L["Link to an already existing profile (persistent)"],
 		type = "select",
 		order = 8,
 		get = function() return currentProfile end,
-		set = function(key, value) SV:ImportProfile(value) RefreshProfileOptions() end,
+		set = function(key, value) SV:ImportProfile(value) SV:SavedPopup() RefreshProfileOptions() end,
 		disabled = function() local t = SVUILib:CheckProfiles() return (not t) end,
 		values = SVUILib:GetProfiles(),
 		width = 'fill',
@@ -510,10 +510,10 @@ SV.Options.args.Core = {
 					name = L["Textures"],
 					guiInline = true,
 					get = function(key)
-						return SV.media.shared.background[key[#key]]
+						return SV.media.shared.background[key[#key]].file
 					end,
 					set = function(key, value)
-						SV.media.shared.background[key[#key]] = value
+						SV.media.shared.background[key[#key]].file = value
 						SV:RefreshEverything(true)
 					end,
 					args = {
diff --git a/SVUI_!Options/SVUI_!Options.toc b/SVUI_!Options/SVUI_!Options.toc
index c1e38a6..54e3e7a 100644
--- a/SVUI_!Options/SVUI_!Options.toc
+++ b/SVUI_!Options/SVUI_!Options.toc
@@ -1,6 +1,6 @@
 ## Interface: 60100
 ## Author: Munglunch
-## Version: 1.0.01
+## Version: 1.0.06
 ## Title: |cffFF9900SuperVillain UI: |r|cff00FF00!Options|r
 ## Notes: SVUI [|cff9911FFConfig Options|r]
 ## RequiredDeps: SVUI_!Core
@@ -11,7 +11,7 @@
 ## X-License: All Rights Reserved
 ## X-Category: Interface Enhancements
 ## X-MKName: Options
-## X-Curse-Packaged-Version: r20150226011046
+## X-Curse-Packaged-Version: r20150302002535
 ## X-Curse-Project-Name: SuperVillain UI: Core
 ## X-Curse-Project-ID: supervillain-ui
 ## X-Curse-Repository-ID: wow/supervillain-ui/mainline
diff --git a/SVUI_!Options/UnitFrames.lua b/SVUI_!Options/UnitFrames.lua
index 17ebef2..4ce5892 100644
--- a/SVUI_!Options/UnitFrames.lua
+++ b/SVUI_!Options/UnitFrames.lua
@@ -1807,7 +1807,7 @@ SVUIOptions.FilterOptionGroups['AuraBars'] = function(selectedSpell)
 					MOD:SetUnitFrame("player")
 					MOD:SetUnitFrame("target")
 					MOD:SetUnitFrame("focus")
-					SV:SetFilterOptions('AuraBars', value)
+					SVUIOptions:SetFilterOptions('AuraBars', value)
 				end
 			},
 			removeSpell = {
@@ -1842,7 +1842,7 @@ SVUIOptions.FilterOptionGroups['AuraBars'] = function(selectedSpell)
 					MOD:SetUnitFrame("player")
 					MOD:SetUnitFrame("target")
 					MOD:SetUnitFrame("focus")
-					SV:SetFilterOptions('AuraBars')
+					SVUIOptions:SetFilterOptions('AuraBars')
 				end
 			},
 			selectSpell = {
@@ -1852,7 +1852,7 @@ SVUIOptions.FilterOptionGroups['AuraBars'] = function(selectedSpell)
 				guiInline = true,
 				get = function(key) return selectedSpell end,
 				set = function(key, value)
-					SV:SetFilterOptions('AuraBars', value)
+					SVUIOptions:SetFilterOptions('AuraBars', value)
 				end,
 				values = function()
 					wipe(tempFilterTable)
@@ -1945,7 +1945,7 @@ SVUIOptions.FilterOptionGroups['BuffWatch'] = function(selectedSpell)
 					else
 						SetWatchedBuff(value, spellID, FILTER, true, "TOPRIGHT", DEFAULT_COLOR, false)
 						UpdateBuffWatch()
-						SV:SetFilterOptions('BuffWatch', spellID)
+						SVUIOptions:SetFilterOptions('BuffWatch', spellID)
 					end
 				end
 			},
@@ -1972,12 +1972,12 @@ SVUIOptions.FilterOptionGroups['BuffWatch'] = function(selectedSpell)
 						if temp == nil then
 							SV:AddonMessage(L["Spell not found in list."])
 						else
-							SV:SetFilterOptions('BuffWatch')
+							SVUIOptions:SetFilterOptions('BuffWatch')
 						end
 					end
 					UpdateBuffWatch("raid")
 					UpdateBuffWatch("party")
-					SV:SetFilterOptions('BuffWatch')
+					SVUIOptions:SetFilterOptions('BuffWatch')
 				end
 			},
 			selectSpell = {
@@ -1997,7 +1997,7 @@ SVUIOptions.FilterOptionGroups['BuffWatch'] = function(selectedSpell)
 					return tempFilterTable
 				end,
 				get = function(key) return selectedSpell end,
-				set = function(key, value) SV:SetFilterOptions('BuffWatch', value) end
+				set = function(key, value) SVUIOptions:SetFilterOptions('BuffWatch', value) end
 			}
 		}
 	}
@@ -2145,7 +2145,7 @@ SVUIOptions.FilterOptionGroups['PetBuffWatch'] = function(selectedSpell)
 					else
 						SetWatchedBuff(value, spellID, FILTER, true, "TOPRIGHT", DEFAULT_COLOR, true)
 						UpdatePetBuffWatch()
-						SV:SetFilterOptions('PetBuffWatch', spellID)
+						SVUIOptions:SetFilterOptions('PetBuffWatch', spellID)
 					end
 				end
 			},
@@ -2172,11 +2172,11 @@ SVUIOptions.FilterOptionGroups['PetBuffWatch'] = function(selectedSpell)
 						if not success then
 							SV:AddonMessage(L["Spell not found in list."])
 						else
-							SV:SetFilterOptions()
+							SVUIOptions:SetFilterOptions()
 						end
 					end
 					UpdatePetBuffWatch()
-					SV:SetFilterOptions('PetBuffWatch', value)
+					SVUIOptions:SetFilterOptions('PetBuffWatch', value)
 				end
 			},
 			selectSpell = {
@@ -2196,7 +2196,7 @@ SVUIOptions.FilterOptionGroups['PetBuffWatch'] = function(selectedSpell)
 					return tempFilterTable
 				end,
 				get = function(key) return selectedSpell end,
-				set = function(key, value) SV:SetFilterOptions('PetBuffWatch', value) end
+				set = function(key, value) SVUIOptions:SetFilterOptions('PetBuffWatch', value) end
 			}
 		}
 	};
@@ -2421,10 +2421,10 @@ SV.Options.args[Schema] = {
 							guiInline = true,
 							name = "Unit Backgrounds (3D Portraits Only)",
 							get = function(key)
-								return SV.media.shared.background[key[#key]]
+								return SV.media.shared.background[key[#key]].file
 							end,
 							set = function(key, value)
-								SV.media.shared.background[key[#key]] = value
+								SV.media.shared.background[key[#key]].file = value
 								SV:RefreshEverything(true)
 							end,
 							args = {
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets.toc b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets.toc
index 6fe70b2..1c19902 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets.toc
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/AceGUI-3.0-SharedMediaWidgets.toc
@@ -23,6 +23,14 @@
 ## X-Curse-Project-Name: SuperVillain UI: Core
 ## X-Curse-Project-ID: supervillain-ui
 ## X-Curse-Repository-ID: wow/supervillain-ui/mainline
+## X-Curse-Packaged-Version: r20150301205831
+## X-Curse-Project-Name: SuperVillain UI: Core
+## X-Curse-Project-ID: supervillain-ui
+## X-Curse-Repository-ID: wow/supervillain-ui/mainline
+## X-Curse-Packaged-Version: r20150302002535
+## X-Curse-Project-Name: SuperVillain UI: Core
+## X-Curse-Project-ID: supervillain-ui
+## X-Curse-Repository-ID: wow/supervillain-ui/mainline

 ## Title: Lib: AceGUI-3.0-SharedMediaWidgets
 ## Notes: Enables AceGUI-3.0 widgets for the 5 basic SharedMedia-3.0 types
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/BackgroundWidget.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/BackgroundWidget.lua
index d997c65..4c8c843 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/BackgroundWidget.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/BackgroundWidget.lua
@@ -39,9 +39,9 @@ do
 			frame = table.remove(contentFrameCache)
 		else
 			frame = CreateFrame("Button", nil, UIParent)
-				--frame:SetWidth(200)
+				--frame:SetWidth(320)
 				frame:SetHeight(18)
-				frame:SetHighlightTexture([[Interface\AddOns\ModKit_!Core\assets\textures\TITLE-HIGHLIGHT]], "ADD")
+				frame:SetHighlightTexture([[Interface\AddOns\SVUI_!Core\assets\textures\TITLE-HIGHLIGHT]], "ADD")
 				frame:SetScript("OnClick", ContentOnClick)
 				frame:SetScript("OnEnter", ContentOnEnter)

@@ -71,7 +71,7 @@ do

 	local function OnAcquire(self)
 		self:SetHeight(44)
-		self:SetWidth(200)
+		self:SetWidth(320)
 	end

 	local function OnRelease(self)
@@ -109,9 +109,9 @@ do
 		local background = self.list[text] ~= text and self.list[text] or Media:Fetch('background',text)

 		self.frame.displayButton:SetBackdrop({bgFile = background,
-			edgeFile = "Interface/Tooltips/UI-Tooltip-Border",
-			edgeSize = 16,
-			insets = { left = 4, right = 4, top = 4, bottom = 4 }})
+			edgeFile = [[Interface\AddOns\SVUI_!Core\assets\borders\DEFAULT]],
+			edgeSize = 1,
+			insets = { left = 1, right = 1, top = 1, bottom = 1 }})
 	end

 	local function SetLabel(self, text) -- Set the text for the label.
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/BorderWidget.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/BorderWidget.lua
index 37c2be5..aa0165e 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/BorderWidget.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/BorderWidget.lua
@@ -42,9 +42,9 @@ do
 			frame = table.remove(contentFrameCache)
 		else
 			frame = CreateFrame("Button", nil, UIParent)
-				--frame:SetWidth(200)
+				--frame:SetWidth(320)
 				frame:SetHeight(18)
-				frame:SetHighlightTexture([[Interface\AddOns\ModKit_!Core\assets\textures\TITLE-HIGHLIGHT]], "ADD")
+				frame:SetHighlightTexture([[Interface\AddOns\SVUI_!Core\assets\textures\TITLE-HIGHLIGHT]], "ADD")
 				frame:SetScript("OnClick", ContentOnClick)
 				frame:SetScript("OnEnter", ContentOnEnter)
 			local check = frame:CreateTexture("OVERLAY")
@@ -68,7 +68,7 @@ do

 	local function OnAcquire(self)
 		self:SetHeight(44)
-		self:SetWidth(200)
+		self:SetWidth(320)
 	end

 	local function OnRelease(self)
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/FontWidget.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/FontWidget.lua
index 8ba9335..a18a51f 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/FontWidget.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/FontWidget.lua
@@ -32,9 +32,9 @@ do
 			frame = table.remove(contentFrameCache)
 		else
 			frame = CreateFrame("Button", nil, UIParent)
-				--frame:SetWidth(200)
+				--frame:SetWidth(320)
 				frame:SetHeight(18)
-				frame:SetHighlightTexture([[Interface\AddOns\ModKit_!Core\assets\textures\TITLE-HIGHLIGHT]], "ADD")
+				frame:SetHighlightTexture([[Interface\AddOns\SVUI_!Core\assets\textures\TITLE-HIGHLIGHT]], "ADD")
 				frame:SetScript("OnClick", ContentOnClick)
 			local check = frame:CreateTexture("OVERLAY")
 				check:SetWidth(16)
@@ -57,7 +57,7 @@ do

 	local function OnAcquire(self)
 		self:SetHeight(44)
-		self:SetWidth(200)
+		self:SetWidth(320)
 	end

 	local function OnRelease(self)
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua
index b0f81b7..18a814f 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua
@@ -100,7 +100,7 @@ Constructor
 -------------------------------------------------------------------------------]]
 local PaneBackdrop  = {
 	bgFile = "Interface\\ChatFrame\\ChatFrameBackground",
-	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
+	edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 	tile = true, tileSize = 16, edgeSize = 16,
 	insets = { left = 3, right = 3, top = 5, bottom = 3 }
 }
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua
index 34672c1..60eb8a1 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua
@@ -162,14 +162,14 @@ Constructor
 -------------------------------------------------------------------------------]]
 local FrameBackdrop = {
 	bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background",
-	edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border",
+	edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 	tile = true, tileSize = 32, edgeSize = 32,
 	insets = { left = 8, right = 8, top = 8, bottom = 8 }
 }

 local PaneBackdrop  = {
 	bgFile = "Interface\\ChatFrame\\ChatFrameBackground",
-	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
+	edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 	tile = true, tileSize = 16, edgeSize = 16,
 	insets = { left = 3, right = 3, top = 5, bottom = 3 }
 }
@@ -255,7 +255,7 @@ local function Constructor()
 	line1:SetWidth(14)
 	line1:SetHeight(14)
 	line1:SetPoint("BOTTOMRIGHT", -8, 8)
-	line1:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
+	line1:SetTexture("Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED")
 	local x = 0.1 * 14/17
 	line1:SetTexCoord(0.05 - x, 0.5, 0.05, 0.5 + x, 0.05, 0.5 - x, 0.5 + x, 0.5)

@@ -263,7 +263,7 @@ local function Constructor()
 	line2:SetWidth(8)
 	line2:SetHeight(8)
 	line2:SetPoint("BOTTOMRIGHT", -8, 8)
-	line2:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
+	line2:SetTexture("Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED")
 	local x = 0.1 * 8/17
 	line2:SetTexCoord(0.05 - x, 0.5, 0.05, 0.5 + x, 0.05, 0.5 - x, 0.5 + x, 0.5)

diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua
index f3db7d6..3ca05e5 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua
@@ -60,7 +60,7 @@ Constructor
 -------------------------------------------------------------------------------]]
 local PaneBackdrop  = {
 	bgFile = "Interface\\ChatFrame\\ChatFrameBackground",
-	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
+	edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 	tile = true, tileSize = 16, edgeSize = 16,
 	insets = { left = 3, right = 3, top = 5, bottom = 3 }
 }
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua
index 00be129..2b7a14a 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua
@@ -298,7 +298,7 @@ Constructor
 -------------------------------------------------------------------------------]]
 local PaneBackdrop  = {
 	bgFile = "Interface\\ChatFrame\\ChatFrameBackground",
-	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
+	edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 	tile = true, tileSize = 16, edgeSize = 16,
 	insets = { left = 3, right = 3, top = 5, bottom = 3 }
 }
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua
index 7e5052a..b3009f6 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua
@@ -613,7 +613,7 @@ Constructor
 -------------------------------------------------------------------------------]]
 local PaneBackdrop  = {
 	bgFile = "Interface\\ChatFrame\\ChatFrameBackground",
-	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
+	edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 	tile = true, tileSize = 16, edgeSize = 16,
 	insets = { left = 3, right = 3, top = 5, bottom = 3 }
 }
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua
index bb0a2a2..3e38234 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua
@@ -285,7 +285,7 @@ do
 		line1:SetWidth(14)
 		line1:SetHeight(14)
 		line1:SetPoint("BOTTOMRIGHT", -8, 8)
-		line1:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
+		line1:SetTexture("Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED")
 		local x = 0.1 * 14/17
 		line1:SetTexCoord(0.05 - x, 0.5, 0.05, 0.5 + x, 0.05, 0.5 - x, 0.5 + x, 0.5)

@@ -294,7 +294,7 @@ do
 		line2:SetWidth(8)
 		line2:SetHeight(8)
 		line2:SetPoint("BOTTOMRIGHT", -8, 8)
-		line2:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
+		line2:SetTexture("Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED")
 		local x = 0.1 * 8/17
 		line2:SetTexCoord(0.05 - x, 0.5, 0.05, 0.5 + x, 0.05, 0.5 - x, 0.5 + x, 0.5)

diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua
index fd95cb7..3943008 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua
@@ -43,7 +43,7 @@ local methods = {
 	["OnAcquire"] = function(self)
 		-- restore default values
 		self:SetHeight(24)
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetDisabled(false)
 		self:SetText()
 	end,
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua
index 8847ebc..eb7f172 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua
@@ -79,7 +79,7 @@ local methods = {
 		self:SetValue(false)
 		self:SetTriState(nil)
 		-- height is calculated from the width and required space for the description
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetImage()
 		self:SetDisabled(nil)
 		self:SetDescription(nil)
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua
index f242437..929326d 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua
@@ -87,7 +87,7 @@ Methods
 local methods = {
 	["OnAcquire"] = function(self)
 		self:SetHeight(24)
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetHasAlpha(false)
 		self:SetColor(0, 0, 0, 1)
 		self:SetDisabled(nil)
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua
index f46f370..2935b9d 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua
@@ -45,7 +45,7 @@ do

 	local backdrop = {
 		bgFile = "Interface\\ChatFrame\\ChatFrameBackground",
-		edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border",
+		edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 		edgeSize = 32,
 		tileSize = 32,
 		tile = true,
@@ -459,7 +459,7 @@ do
 		fixlevels(self.pullout.frame, self.pullout.frame:GetChildren())

 		self:SetHeight(44)
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetLabel()
 	end

diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua
index acd7131..7b7c963 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua
@@ -121,7 +121,7 @@ Methods
 local methods = {
 	["OnAcquire"] = function(self)
 		-- height is controlled by SetLabel
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetDisabled(false)
 		self:SetLabel()
 		self:SetText()
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua
index 1aaf3f5..ed6cb8f 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua
@@ -51,14 +51,14 @@ local function Constructor()
 	left:SetHeight(8)
 	left:SetPoint("LEFT", 3, 0)
 	left:SetPoint("RIGHT", label, "LEFT", -5, 0)
-	left:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
+	left:SetTexture("Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED")
 	left:SetTexCoord(0.81, 0.94, 0.5, 1)

 	local right = frame:CreateTexture(nil, "BACKGROUND")
 	right:SetHeight(8)
 	right:SetPoint("RIGHT", -3, 0)
 	right:SetPoint("LEFT", label, "RIGHT", 5, 0)
-	right:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
+	right:SetTexture("Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED")
 	right:SetTexCoord(0.81, 0.94, 0.5, 1)

 	local widget = {
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua
index 7dccc64..a2ef78f 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua
@@ -108,7 +108,7 @@ Methods
 -------------------------------------------------------------------------------]]
 local methods = {
 	["OnAcquire"] = function(self)
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetLabel("")
 		self:SetKey("")
 		self.waitingForKey = nil
@@ -166,7 +166,7 @@ Constructor

 local ControlBackdrop  = {
 	bgFile = "Interface\\Tooltips\\UI-Tooltip-Background",
-	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
+	edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 	tile = true, tileSize = 16, edgeSize = 16,
 	insets = { left = 3, right = 3, top = 3, bottom = 3 }
 }
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua
index 23897d5..446c06c 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua
@@ -72,7 +72,7 @@ local methods = {
 		-- set the flag to stop constant size updates
 		self.resizing = true
 		-- height is set dynamically by the text and image size
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetText()
 		self:SetImage(nil)
 		self:SetImageSize(16, 16)
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua
index a27a2fc..5f35021 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua
@@ -168,7 +168,7 @@ local methods = {
 	["OnAcquire"] = function(self)
 		self.editBox:SetText("")
 		self:SetDisabled(false)
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:DisableButton(false)
 		self:SetNumLines()
 		self.entered = nil
@@ -268,7 +268,7 @@ Constructor
 -------------------------------------------------------------------------------]]
 local backdrop = {
 	bgFile = [[Interface\Tooltips\UI-Tooltip-Background]],
-	edgeFile = [[Interface\Tooltips\UI-Tooltip-Border]], edgeSize = 16,
+	edgeFile = [[Interface\AddOns\SVUI_!Core\assets\borders\DEFAULT]], edgeSize = 16,
 	insets = { left = 4, right = 3, top = 4, bottom = 3 }
 }

diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua
index 7f0bd5f..2d1f726 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua
@@ -123,7 +123,7 @@ Methods
 -------------------------------------------------------------------------------]]
 local methods = {
 	["OnAcquire"] = function(self)
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetHeight(44)
 		self:SetDisabled(false)
 		self:SetIsPercent(nil)
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/LibStub/LibStub.toc b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/LibStub/LibStub.toc
index 213ca17..d771e27 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/LibStub/LibStub.toc
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/Libs/LibStub/LibStub.toc
@@ -29,5 +29,13 @@
 ## X-Curse-Project-Name: SuperVillain UI: Core
 ## X-Curse-Project-ID: supervillain-ui
 ## X-Curse-Repository-ID: wow/supervillain-ui/mainline
+## X-Curse-Packaged-Version: r20150301205831
+## X-Curse-Project-Name: SuperVillain UI: Core
+## X-Curse-Project-ID: supervillain-ui
+## X-Curse-Repository-ID: wow/supervillain-ui/mainline
+## X-Curse-Packaged-Version: r20150302002535
+## X-Curse-Project-Name: SuperVillain UI: Core
+## X-Curse-Project-ID: supervillain-ui
+## X-Curse-Repository-ID: wow/supervillain-ui/mainline

 LibStub.lua
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/SoundWidget.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/SoundWidget.lua
index 2a8b4fd..76ac185 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/SoundWidget.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/SoundWidget.lua
@@ -38,9 +38,9 @@ do
 			frame = table.remove(contentFrameCache)
 		else
 			frame = CreateFrame("Button", nil, UIParent)
-				--frame:SetWidth(200)
+				--frame:SetWidth(320)
 				frame:SetHeight(18)
-				frame:SetHighlightTexture([[Interface\AddOns\ModKit_!Core\assets\textures\TITLE-HIGHLIGHT]], "ADD")
+				frame:SetHighlightTexture([[Interface\AddOns\SVUI_!Core\assets\textures\TITLE-HIGHLIGHT]], "ADD")
 				frame:SetScript("OnClick", ContentOnClick)
 			local check = frame:CreateTexture("OVERLAY")
 				check:SetWidth(16)
@@ -81,7 +81,7 @@ do

 	local function OnAcquire(self)
 		self:SetHeight(44)
-		self:SetWidth(200)
+		self:SetWidth(320)
 	end

 	local function OnRelease(self)
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/StatusbarWidget.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/StatusbarWidget.lua
index 7b92059..79ed250 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/StatusbarWidget.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/StatusbarWidget.lua
@@ -32,9 +32,9 @@ do
 			frame = table.remove(contentFrameCache)
 		else
 			frame = CreateFrame("Button", nil, UIParent)
-				--frame:SetWidth(200)
+				--frame:SetWidth(320)
 				frame:SetHeight(18)
-				frame:SetHighlightTexture([[Interface\AddOns\ModKit_!Core\assets\textures\TITLE-HIGHLIGHT]], "ADD")
+				frame:SetHighlightTexture([[Interface\AddOns\SVUI_!Core\assets\textures\TITLE-HIGHLIGHT]], "ADD")
 				frame:SetScript("OnClick", ContentOnClick)
 			local check = frame:CreateTexture("OVERLAY")
 				check:SetWidth(16)
@@ -66,7 +66,7 @@ do

 	local function OnAcquire(self)
 		self:SetHeight(44)
-		self:SetWidth(200)
+		self:SetWidth(320)
 	end

 	local function OnRelease(self)
diff --git a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/prototypes.lua b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/prototypes.lua
index 7347931..bfdff44 100644
--- a/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/prototypes.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0-SharedMediaWidgets/prototypes.lua
@@ -47,16 +47,16 @@ do
 	end

 	local displayButtonBackdrop = {
-		edgeFile = "Interface/Tooltips/UI-Tooltip-Border",
-		tile = true, tileSize = 16, edgeSize = 16,
-		insets = { left = 4, right = 4, top = 4, bottom = 4 },
+		edgeFile = [[Interface\AddOns\SVUI_!Core\assets\borders\DEFAULT]],
+		tile = true, tileSize = 16, edgeSize = 1,
+		insets = { left = 1, right = 1, top = 1, bottom = 1 },
 	}

 	-- create or retrieve BaseFrame
 	function AGSMW:GetBaseFrame()
 		local frame = CreateFrame("Frame", nil, UIParent)
 		frame:SetHeight(44)
-		frame:SetWidth(200)
+		frame:SetWidth(320)
 		frame:SetPoint("CENTER", UIParent, "CENTER")

 		local label = frame:CreateFontString(nil,"OVERLAY","GameFontNormalSmall")
@@ -139,23 +139,30 @@ end
 do

 	local sliderBackdrop = {
-		["bgFile"] = [[Interface\Buttons\UI-SliderBar-Background]],
-		["edgeFile"] = [[Interface\Buttons\UI-SliderBar-Border]],
-		["tile"] = true,
-		["edgeSize"] = 8,
-		["tileSize"] = 8,
+		["bgFile"] = [[Interface\AddOns\SVUI_!Core\assets\backgrounds\TRANSPARENT]],
+		["edgeFile"] = [[Interface\AddOns\SVUI_!Core\assets\borders\DEFAULT]],
+		["tile"] = false,
+		["edgeSize"] = 1,
+		["tileSize"] = 0,
 		["insets"] = {
-			["left"] = 3,
-			["right"] = 3,
-			["top"] = 3,
-			["bottom"] = 3,
+			["left"] = 0,
+			["right"] = 0,
+			["top"] = 0,
+			["bottom"] = 0,
 		},
 	}
 	local frameBackdrop = {
-		bgFile=[[Interface\DialogFrame\UI-DialogBox-Background-Dark]],
-		edgeFile = [[Interface\DialogFrame\UI-DialogBox-Border]],
-		tile = true, tileSize = 32, edgeSize = 32,
-		insets = { left = 11, right = 12, top = 12, bottom = 9 },
+		["bgFile"] = [[Interface\AddOns\SVUI_!Core\assets\backgrounds\DARK]],
+		["edgeFile"] = [[Interface\AddOns\SVUI_!Core\assets\borders\DEFAULT]],
+		["tile"] = false,
+		["edgeSize"] = 1,
+		["tileSize"] = 0,
+		["insets"] = {
+			["left"] = 0,
+			["right"] = 0,
+			["top"] = 0,
+			["bottom"] = 0,
+		},
 	}

 	local function OnMouseWheel(self, dir)
@@ -180,14 +187,14 @@ do
 		end

 		if self.contentframe:GetHeight() > UIParent:GetHeight()*2/5 - 20 then
-			self.scrollframe:SetPoint("BOTTOMRIGHT", self, "BOTTOMRIGHT", -28, 12)
+			self.scrollframe:SetPoint("BOTTOMRIGHT", self, "BOTTOMRIGHT", -14, 12)
 			self:SetHeight(UIParent:GetHeight()*2/5)
 			self.slider:Show()
 			self:SetScript("OnMouseWheel", OnMouseWheel)
 			self.scrollframe:UpdateScrollChildRect()
 			self.slider:SetMinMaxValues(0, self.contentframe:GetHeight()-self.scrollframe:GetHeight())
 		else
-			self.scrollframe:SetPoint("BOTTOMRIGHT", self, "BOTTOMRIGHT", -14, 12)
+			self.scrollframe:SetPoint("BOTTOMRIGHT", self, "BOTTOMRIGHT", -2, 12)
 			self:SetHeight(self.contentframe:GetHeight()+25)
 			self.slider:Hide()
 			self:SetScript("OnMouseWheel", nil)
@@ -216,20 +223,20 @@ do
 		else
 			frame = CreateFrame("Frame", nil, UIParent)
 				frame:SetClampedToScreen(true)
-				frame:SetWidth(188)
+				frame:SetWidth(320)
 				frame:SetBackdrop(frameBackdrop)
 				frame:SetFrameStrata("TOOLTIP")
 				frame:EnableMouseWheel(true)

 			local contentframe = CreateFrame("Frame", nil, frame)
-				contentframe:SetWidth(160)
+				contentframe:SetWidth(316)
 				contentframe:SetHeight(0)
 			frame.contentframe = contentframe

 			local scrollframe = CreateFrame("ScrollFrame", nil, frame)
-				scrollframe:SetWidth(160)
-				scrollframe:SetPoint("TOPLEFT", frame, "TOPLEFT", 14, -13)
-				scrollframe:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -14, 12)
+				scrollframe:SetWidth(316)
+				scrollframe:SetPoint("TOPLEFT", frame, "TOPLEFT", 2, -13)
+				scrollframe:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 12)
 				scrollframe:SetScrollChild(contentframe)
 			frame.scrollframe = scrollframe

@@ -246,10 +253,10 @@ do

 			local slider = CreateFrame("Slider", nil, scrollframe)
 				slider:SetOrientation("VERTICAL")
-				slider:SetPoint("TOPRIGHT", frame, "TOPRIGHT", -14, -10)
-				slider:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -14, 10)
+				slider:SetPoint("TOPRIGHT", frame, "TOPRIGHT", -2, -13)
+				slider:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 12)
 				slider:SetBackdrop(sliderBackdrop)
-				slider:SetThumbTexture([[Interface\Buttons\UI-SliderBar-Button-Vertical]])
+				slider:SetThumbTexture([[Interface\AddOns\SVUI_!Core\assets\buttons\SCROLLBAR-KNOB]])
 				slider:SetMinMaxValues(0, 1)
 				--slider:SetValueStep(1)
 				slider:SetWidth(12)
diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua
index b0f81b7..030083a 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua
@@ -99,10 +99,10 @@ local methods = {
 Constructor
 -------------------------------------------------------------------------------]]
 local PaneBackdrop  = {
-	bgFile = "Interface\\ChatFrame\\ChatFrameBackground",
-	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
-	tile = true, tileSize = 16, edgeSize = 16,
-	insets = { left = 3, right = 3, top = 5, bottom = 3 }
+	bgFile = [[Interface\DialogFrame\UI-DialogBox-Background]],
+	edgeFile = [[Interface\AddOns\SVUI_!Core\assets\borders\DEFAULT]],
+	tile = false, tileSize = 0, edgeSize = 1,
+	insets = { left = 0, right = 0, top = 0, bottom = 0 }
 }

 local function Constructor()
diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua
index 34672c1..60eb8a1 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-Frame.lua
@@ -162,14 +162,14 @@ Constructor
 -------------------------------------------------------------------------------]]
 local FrameBackdrop = {
 	bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background",
-	edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border",
+	edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 	tile = true, tileSize = 32, edgeSize = 32,
 	insets = { left = 8, right = 8, top = 8, bottom = 8 }
 }

 local PaneBackdrop  = {
 	bgFile = "Interface\\ChatFrame\\ChatFrameBackground",
-	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
+	edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 	tile = true, tileSize = 16, edgeSize = 16,
 	insets = { left = 3, right = 3, top = 5, bottom = 3 }
 }
@@ -255,7 +255,7 @@ local function Constructor()
 	line1:SetWidth(14)
 	line1:SetHeight(14)
 	line1:SetPoint("BOTTOMRIGHT", -8, 8)
-	line1:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
+	line1:SetTexture("Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED")
 	local x = 0.1 * 14/17
 	line1:SetTexCoord(0.05 - x, 0.5, 0.05, 0.5 + x, 0.05, 0.5 - x, 0.5 + x, 0.5)

@@ -263,7 +263,7 @@ local function Constructor()
 	line2:SetWidth(8)
 	line2:SetHeight(8)
 	line2:SetPoint("BOTTOMRIGHT", -8, 8)
-	line2:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
+	line2:SetTexture("Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED")
 	local x = 0.1 * 8/17
 	line2:SetTexCoord(0.05 - x, 0.5, 0.05, 0.5 + x, 0.05, 0.5 - x, 0.5 + x, 0.5)

diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua
index f3db7d6..3ca05e5 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-InlineGroup.lua
@@ -60,7 +60,7 @@ Constructor
 -------------------------------------------------------------------------------]]
 local PaneBackdrop  = {
 	bgFile = "Interface\\ChatFrame\\ChatFrameBackground",
-	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
+	edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 	tile = true, tileSize = 16, edgeSize = 16,
 	insets = { left = 3, right = 3, top = 5, bottom = 3 }
 }
diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua
index 00be129..2b7a14a 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua
@@ -298,7 +298,7 @@ Constructor
 -------------------------------------------------------------------------------]]
 local PaneBackdrop  = {
 	bgFile = "Interface\\ChatFrame\\ChatFrameBackground",
-	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
+	edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 	tile = true, tileSize = 16, edgeSize = 16,
 	insets = { left = 3, right = 3, top = 5, bottom = 3 }
 }
diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua
index f54cce4..02a201f 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua
@@ -613,7 +613,7 @@ Constructor
 -------------------------------------------------------------------------------]]
 local PaneBackdrop  = {
 	bgFile = "Interface\\ChatFrame\\ChatFrameBackground",
-	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
+	edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 	tile = true, tileSize = 16, edgeSize = 16,
 	insets = { left = 3, right = 3, top = 5, bottom = 3 }
 }
diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua
index bb0a2a2..3e38234 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIContainer-Window.lua
@@ -285,7 +285,7 @@ do
 		line1:SetWidth(14)
 		line1:SetHeight(14)
 		line1:SetPoint("BOTTOMRIGHT", -8, 8)
-		line1:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
+		line1:SetTexture("Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED")
 		local x = 0.1 * 14/17
 		line1:SetTexCoord(0.05 - x, 0.5, 0.05, 0.5 + x, 0.05, 0.5 - x, 0.5 + x, 0.5)

@@ -294,7 +294,7 @@ do
 		line2:SetWidth(8)
 		line2:SetHeight(8)
 		line2:SetPoint("BOTTOMRIGHT", -8, 8)
-		line2:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
+		line2:SetTexture("Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED")
 		local x = 0.1 * 8/17
 		line2:SetTexCoord(0.05 - x, 0.5, 0.05, 0.5 + x, 0.05, 0.5 - x, 0.5 + x, 0.5)

diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua
index 028e524..853b565 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Button.lua
@@ -43,7 +43,7 @@ local methods = {
 	["OnAcquire"] = function(self)
 		-- restore default values
 		self:SetHeight(24)
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetDisabled(false)
 		self:SetAutoWidth(false)
 		self:SetText()
diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua
index 8847ebc..eb7f172 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-CheckBox.lua
@@ -79,7 +79,7 @@ local methods = {
 		self:SetValue(false)
 		self:SetTriState(nil)
 		-- height is calculated from the width and required space for the description
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetImage()
 		self:SetDisabled(nil)
 		self:SetDescription(nil)
diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua
index f242437..929326d 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-ColorPicker.lua
@@ -87,7 +87,7 @@ Methods
 local methods = {
 	["OnAcquire"] = function(self)
 		self:SetHeight(24)
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetHasAlpha(false)
 		self:SetColor(0, 0, 0, 1)
 		self:SetDisabled(nil)
diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua
index 951cad7..e16d0f6 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-DropDown.lua
@@ -45,7 +45,7 @@ do

 	local backdrop = {
 		bgFile = "Interface\\ChatFrame\\ChatFrameBackground",
-		edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border",
+		edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 		edgeSize = 32,
 		tileSize = 32,
 		tile = true,
@@ -462,7 +462,7 @@ do
 		fixlevels(self.pullout.frame, self.pullout.frame:GetChildren())

 		self:SetHeight(44)
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetLabel()
 		self:SetPulloutWidth(nil)
 	end
diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua
index c67902c..ab45d11 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-EditBox.lua
@@ -126,7 +126,7 @@ Methods
 local methods = {
 	["OnAcquire"] = function(self)
 		-- height is controlled by SetLabel
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetDisabled(false)
 		self:SetLabel()
 		self:SetText()
diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua
index 1aaf3f5..ed6cb8f 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Heading.lua
@@ -51,14 +51,14 @@ local function Constructor()
 	left:SetHeight(8)
 	left:SetPoint("LEFT", 3, 0)
 	left:SetPoint("RIGHT", label, "LEFT", -5, 0)
-	left:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
+	left:SetTexture("Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED")
 	left:SetTexCoord(0.81, 0.94, 0.5, 1)

 	local right = frame:CreateTexture(nil, "BACKGROUND")
 	right:SetHeight(8)
 	right:SetPoint("RIGHT", -3, 0)
 	right:SetPoint("LEFT", label, "RIGHT", 5, 0)
-	right:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
+	right:SetTexture("Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED")
 	right:SetTexCoord(0.81, 0.94, 0.5, 1)

 	local widget = {
diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua
index 7dccc64..a2ef78f 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Keybinding.lua
@@ -108,7 +108,7 @@ Methods
 -------------------------------------------------------------------------------]]
 local methods = {
 	["OnAcquire"] = function(self)
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetLabel("")
 		self:SetKey("")
 		self.waitingForKey = nil
@@ -166,7 +166,7 @@ Constructor

 local ControlBackdrop  = {
 	bgFile = "Interface\\Tooltips\\UI-Tooltip-Background",
-	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
+	edgeFile = "Interface\\AddOns\\SVUI_!Core\\assets\\borders\\TEXTURED",
 	tile = true, tileSize = 16, edgeSize = 16,
 	insets = { left = 3, right = 3, top = 3, bottom = 3 }
 }
diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua
index 23897d5..446c06c 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Label.lua
@@ -72,7 +72,7 @@ local methods = {
 		-- set the flag to stop constant size updates
 		self.resizing = true
 		-- height is set dynamically by the text and image size
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetText()
 		self:SetImage(nil)
 		self:SetImageSize(16, 16)
diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua
index a27a2fc..5f35021 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-MultiLineEditBox.lua
@@ -168,7 +168,7 @@ local methods = {
 	["OnAcquire"] = function(self)
 		self.editBox:SetText("")
 		self:SetDisabled(false)
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:DisableButton(false)
 		self:SetNumLines()
 		self.entered = nil
@@ -268,7 +268,7 @@ Constructor
 -------------------------------------------------------------------------------]]
 local backdrop = {
 	bgFile = [[Interface\Tooltips\UI-Tooltip-Background]],
-	edgeFile = [[Interface\Tooltips\UI-Tooltip-Border]], edgeSize = 16,
+	edgeFile = [[Interface\AddOns\SVUI_!Core\assets\borders\DEFAULT]], edgeSize = 16,
 	insets = { left = 4, right = 3, top = 4, bottom = 3 }
 }

diff --git a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua
index 583f29d..78c4e6e 100644
--- a/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua
+++ b/SVUI_!Options/libs/AceGUI-3.0/widgets/AceGUIWidget-Slider.lua
@@ -127,7 +127,7 @@ Methods
 -------------------------------------------------------------------------------]]
 local methods = {
 	["OnAcquire"] = function(self)
-		self:SetWidth(200)
+		self:SetWidth(320)
 		self:SetHeight(44)
 		self:SetDisabled(false)
 		self:SetIsPercent(nil)
diff --git a/SVUI_FightOMatic/SVUI_FightOMatic.lua b/SVUI_FightOMatic/SVUI_FightOMatic.lua
index a60988f..37941e9 100644
--- a/SVUI_FightOMatic/SVUI_FightOMatic.lua
+++ b/SVUI_FightOMatic/SVUI_FightOMatic.lua
@@ -436,13 +436,18 @@ function PLUGIN:PopulateScans()
 		end
 	end
 	self.Summary:AddMessage(("You Have |cffff5500%s|r Mortal Enemies"):format(amount), 0.8, 0.8, 0.8);
+	local hasScans = false;
 	for _,data in pairs(EnemyCache) do
 		if type(data) == "table" and data.name and data.class and data.race then
 			local nameLink = linkString:format(data.name, data.name)
 			local hex = ("%s - %s %s"):format(nameLink, data.race, data.class)
 			self.LOG.Output:AddMessage(hex, data.colors.r, data.colors.g, data.colors.b);
+			hasScans = true;
 		end
 	end
+	if(not hasScans) then
+		self.COMM.Unavailable:Show()
+	end
 end

 function PLUGIN:PauseScanner()
@@ -718,7 +723,7 @@ local function MakeLogWindow()

 	PLUGIN.LOG = frame

-	_G["SVUI_FightOMaticTool1"].Window = PLUGIN.LOG
+	return PLUGIN.LOG
 end

 local function MakeCommWindow()
@@ -740,11 +745,11 @@ local function MakeCommWindow()

 	frame.Unavailable = fallback

-	local DOCK_WIDTH = frame:GetWidth();
-	local DOCK_HEIGHT = frame:GetHeight();
+	local DOCK_WIDTH = frame:GetWidth() or PLUGIN.Docklet:GetWidth();
+	local DOCK_HEIGHT = frame:GetHeight() or PLUGIN.Docklet:GetHeight();
 	local BUTTON_SIZE = (DOCK_HEIGHT * 0.25) - 4;
-	local sectionWidth = (DOCK_WIDTH / 6) - 2
-	local sectionHeight = (DOCK_HEIGHT / 5) - 2
+	local sectionWidth = 28
+	local sectionHeight = 22
 	local iconSize = sectionHeight * 0.5

 	for i = 1, 5 do
@@ -752,14 +757,15 @@ local function MakeCommWindow()

 		local poiName = ("SVUI_PVPNode%d"):format(i)
 		local poi = CreateFrame("Frame", poiName, frame)
-		poi:SetSize((DOCK_WIDTH - 2), sectionHeight)
-		poi:SetPoint("TOP", frame, "TOP", 0, -yOffset)
-		poi:SetStyle("Frame", "Transparent")
+		poi:SetPoint("TOPLEFT", frame, "TOPLEFT", 2, -yOffset)
+		poi:SetPoint("TOPRIGHT", frame, "TOPRIGHT", -2, -yOffset)
+		poi:SetHeight(22)
+		poi:SetStyle("Transparent")

 		local safe = CreateFrame("Button", nil, poi)
 		safe:SetSize(sectionWidth, sectionHeight)
 		safe:SetPoint("RIGHT", poi, "RIGHT", -2, 0)
-		safe:SetStyle("Button")
+		safe:SetStyle()
 		safe:SetPanelColor("green")
 		local sicon = safe:CreateTexture(nil, "OVERLAY")
 		sicon:SetPoint("CENTER", safe, "CENTER", 0, 0)
@@ -775,7 +781,7 @@ local function MakeCommWindow()
 		local help = CreateFrame("Button", nil, poi)
 		help:SetSize(sectionWidth, sectionHeight)
 		help:SetPoint("RIGHT", safe, "LEFT", -2, 0)
-		help:SetStyle("Button")
+		help:SetStyle()
 		help:SetPanelColor("red")
 		local hicon = help:CreateTexture(nil, "OVERLAY")
 		hicon:SetPoint("CENTER", help, "CENTER", 0, 0)
@@ -798,10 +804,9 @@ local function MakeCommWindow()
 	end

 	PLUGIN.COMM = frame
-
-	_G["SVUI_FightOMaticTool2"].Window = PLUGIN.COMM
-
 	PLUGIN.COMM:Hide()
+
+	return PLUGIN.COMM
 end

 local function MakeUtilityWindow()
@@ -818,10 +823,8 @@ local function MakeUtilityWindow()
 	fbText:SetText("Utilities Coming Soon....")

 	PLUGIN.TOOL = frame
-
-	_G["SVUI_FightOMaticTool3"].Window = PLUGIN.TOOL
-
 	PLUGIN.TOOL:Hide()
+	return PLUGIN.TOOL
 end

 local function MakeInfoWindow()
@@ -839,23 +842,20 @@ local function MakeInfoWindow()
 	leftColumn:ModSize(DATA_WIDTH, DATA_HEIGHT)
 	leftColumn:ModPoint("LEFT", frame, "LEFT", 0, 0)
 	leftColumn.lockedOpen = true
-	SV.Reports:NewHolder(leftColumn, 3, "ANCHOR_CURSOR", 1, "Transparent", true)
+	SV.Reports:NewHolder(leftColumn, 3, "ANCHOR_CURSOR", 1, "Transparent")
 	leftColumn:SetFrameLevel(0)

 	local rightColumn = CreateFrame("Frame", "SVUI_FightOMaticInfoRight", frame)
 	rightColumn:ModSize(DATA_WIDTH, DATA_HEIGHT)
 	rightColumn:ModPoint("LEFT", leftColumn, "RIGHT", 2, 0)
 	rightColumn.lockedOpen = true
-	SV.Reports:NewHolder(rightColumn, 3, "ANCHOR_CURSOR", 2, "Transparent", true)
+	SV.Reports:NewHolder(rightColumn, 3, "ANCHOR_CURSOR", 2, "Transparent")
 	rightColumn:SetFrameLevel(0)

 	PLUGIN.INFO = frame
-
-	_G["SVUI_FightOMaticTool4"].Window = PLUGIN.INFO
-
 	SV.Reports:UpdateAllReports()
-
 	PLUGIN.INFO:Hide()
+	return PLUGIN.INFO
 end
 --[[
 ##########################################################
@@ -1002,6 +1002,57 @@ function PLUGIN:Load()
     tbDivider:SetPoint("BOTTOMRIGHT")
     tbDivider:SetWidth(1)

+    local title = CreateFrame("ScrollingMessageFrame", nil, self.Docklet)
+	title:SetSpacing(4)
+	title:SetClampedToScreen(false)
+	title:SetFrameStrata("MEDIUM")
+	title:SetPoint("TOPLEFT", toolBar, "TOPRIGHT",0,0)
+	title:SetPoint("BOTTOMRIGHT", self.Docklet, "TOPRIGHT",0,-20)
+	title:SetFontObject(SVUI_Font_Header)
+	title:SetMaxLines(1)
+	title:EnableMouseWheel(false)
+	title:SetFading(false)
+	title:SetInsertMode('TOP')
+
+	local divider1 = title:CreateTexture(nil,"OVERLAY")
+    divider1:SetTexture(0,0,0,0.5)
+    divider1:SetPoint("BOTTOMLEFT")
+    divider1:SetPoint("BOTTOMRIGHT")
+    divider1:SetHeight(1)
+
+    self.Title = title
+
+    local listbutton = CreateFrame("Button", nil, self.Docklet)
+    listbutton:SetPoint("TOPLEFT", title, "BOTTOMLEFT",0,0)
+	listbutton:SetPoint("BOTTOMRIGHT", title, "BOTTOMRIGHT",0,-14)
+	listbutton:SetStyle("Lite")
+	listbutton.ShowingKOS = false
+	listbutton:SetScript("OnEnter", Switch_OnEnter)
+	listbutton:SetScript("OnLeave", Switch_OnLeave)
+	listbutton:SetScript("OnClick", Switch_OnClick)
+
+	self.Switch = listbutton
+
+    local summary = CreateFrame("ScrollingMessageFrame", nil, self.Docklet)
+	summary:SetSpacing(4)
+	summary:SetClampedToScreen(false)
+	summary:SetFrameStrata("MEDIUM")
+	summary:SetPoint("TOPLEFT", title, "BOTTOMLEFT",0,0)
+	summary:SetPoint("BOTTOMRIGHT", title, "BOTTOMRIGHT",0,-14)
+	summary:SetFontObject(SVUI_Font_Default)
+	summary:SetMaxLines(1)
+	summary:EnableMouse(false)
+	summary:SetFading(false)
+	summary:SetInsertMode('TOP')
+
+	self.Summary = summary
+
+	local divider2 = summary:CreateTexture(nil,"OVERLAY")
+    divider2:SetTexture(0,0,0,0.5)
+    divider2:SetPoint("BOTTOMLEFT")
+    divider2:SetPoint("BOTTOMRIGHT")
+    divider2:SetHeight(1)
+
 	local tool4 = CreateFrame("Frame", "SVUI_FightOMaticTool4", toolBar)
 	tool4:SetPoint("BOTTOM",toolBar,"BOTTOM",0,0)
 	tool4:SetSize(BUTTON_SIZE,BUTTON_SIZE)
@@ -1014,6 +1065,7 @@ function PLUGIN:Load()
 	tool4:SetScript('OnEnter', FightOMaticTool_OnEnter)
 	tool4:SetScript('OnLeave', FightOMaticTool_OnLeave)
 	tool4:SetScript('OnMouseDown', FightOMaticTool_OnMouseDown)
+	tool4.Window = MakeInfoWindow()

 	local tool3 = CreateFrame("Frame", "SVUI_FightOMaticTool3", toolBar)
 	tool3:SetPoint("BOTTOM",tool4,"TOP",0,2)
@@ -1027,6 +1079,7 @@ function PLUGIN:Load()
 	tool3:SetScript('OnEnter', FightOMaticTool_OnEnter)
 	tool3:SetScript('OnLeave', FightOMaticTool_OnLeave)
 	tool3:SetScript('OnMouseDown', FightOMaticTool_OnMouseDown)
+	tool3.Window = MakeUtilityWindow()

 	local tool2 = CreateFrame("Frame", "SVUI_FightOMaticTool2", toolBar)
 	tool2:SetPoint("BOTTOM",tool3,"TOP",0,2)
@@ -1040,6 +1093,7 @@ function PLUGIN:Load()
 	tool2:SetScript('OnEnter', FightOMaticTool_OnEnter)
 	tool2:SetScript('OnLeave', FightOMaticTool_OnLeave)
 	tool2:SetScript('OnMouseDown', FightOMaticTool_OnMouseDown)
+	tool2.Window = MakeCommWindow()

 	local tool1 = CreateFrame("Frame", "SVUI_FightOMaticTool1", toolBar)
 	tool1:SetPoint("BOTTOM",tool2,"TOP",0,2)
@@ -1053,62 +1107,7 @@ function PLUGIN:Load()
 	tool1:SetScript('OnEnter', FightOMaticTool_OnEnter)
 	tool1:SetScript('OnLeave', FightOMaticTool_OnLeave)
 	tool1:SetScript('OnMouseDown', Scanner_OnMouseDown)
-
-	local title = CreateFrame("ScrollingMessageFrame", nil, self.Docklet)
-	title:SetSpacing(4)
-	title:SetClampedToScreen(false)
-	title:SetFrameStrata("MEDIUM")
-	title:SetPoint("TOPLEFT", toolBar, "TOPRIGHT",0,0)
-	title:SetPoint("BOTTOMRIGHT", self.Docklet, "TOPRIGHT",0,-20)
-	title:SetFontObject(SVUI_Font_Header)
-	title:SetMaxLines(1)
-	title:EnableMouseWheel(false)
-	title:SetFading(false)
-	title:SetInsertMode('TOP')
-
-	local divider1 = title:CreateTexture(nil,"OVERLAY")
-    divider1:SetTexture(0,0,0,0.5)
-    divider1:SetPoint("BOTTOMLEFT")
-    divider1:SetPoint("BOTTOMRIGHT")
-    divider1:SetHeight(1)
-
-    self.Title = title
-
-    local listbutton = CreateFrame("Button", nil, self.Docklet)
-    listbutton:SetPoint("TOPLEFT", title, "BOTTOMLEFT",0,0)
-	listbutton:SetPoint("BOTTOMRIGHT", title, "BOTTOMRIGHT",0,-14)
-	listbutton:SetStyle("LiteButton")
-	listbutton.ShowingKOS = false
-	listbutton:SetScript("OnEnter", Switch_OnEnter)
-	listbutton:SetScript("OnLeave", Switch_OnLeave)
-	listbutton:SetScript("OnClick", Switch_OnClick)
-
-	self.Switch = listbutton
-
-    local summary = CreateFrame("ScrollingMessageFrame", nil, self.Docklet)
-	summary:SetSpacing(4)
-	summary:SetClampedToScreen(false)
-	summary:SetFrameStrata("MEDIUM")
-	summary:SetPoint("TOPLEFT", title, "BOTTOMLEFT",0,0)
-	summary:SetPoint("BOTTOMRIGHT", title, "BOTTOMRIGHT",0,-14)
-	summary:SetFontObject(SVUI_Font_Default)
-	summary:SetMaxLines(1)
-	summary:EnableMouse(false)
-	summary:SetFading(false)
-	summary:SetInsertMode('TOP')
-
-	self.Summary = summary
-
-	local divider2 = summary:CreateTexture(nil,"OVERLAY")
-    divider2:SetTexture(0,0,0,0.5)
-    divider2:SetPoint("BOTTOMLEFT")
-    divider2:SetPoint("BOTTOMRIGHT")
-    divider2:SetHeight(1)
-
-	MakeLogWindow()
-	MakeCommWindow()
-	MakeUtilityWindow()
-	MakeInfoWindow()
+	tool1.Window = MakeLogWindow()

 	--self.Docklet:Hide()

diff --git a/SVUI_Inventory/Changelog-SVUI_Inventory-r20150226002001.txt b/SVUI_Inventory/Changelog-SVUI_Inventory-r20150226002001.txt
deleted file mode 100644
index f33f6f7..0000000
--- a/SVUI_Inventory/Changelog-SVUI_Inventory-r20150226002001.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Steven Jackson:
-	- toc update, removal of unneeded event handlers
-	- build update
-	- updating with core
-	- toc update
-	- bag event update
-	- more updates
-	- fix for file struct
-	- First commit
diff --git a/SVUI_Inventory/Changelog-SVUI_Inventory-r20150301050204.txt b/SVUI_Inventory/Changelog-SVUI_Inventory-r20150301050204.txt
new file mode 100644
index 0000000..3fdf11d
--- /dev/null
+++ b/SVUI_Inventory/Changelog-SVUI_Inventory-r20150301050204.txt
@@ -0,0 +1,10 @@
+Steven Jackson:
+	- Fixed profiles, filters and lua errors
+	- toc update, removal of unneeded event handlers
+	- build update
+	- updating with core
+	- toc update
+	- bag event update
+	- more updates
+	- fix for file struct
+	- First commit
diff --git a/SVUI_Inventory/SVUI_Inventory.lua b/SVUI_Inventory/SVUI_Inventory.lua
index 655dabf..1408746 100644
--- a/SVUI_Inventory/SVUI_Inventory.lua
+++ b/SVUI_Inventory/SVUI_Inventory.lua
@@ -770,86 +770,11 @@ function MOD:UpdateGoldText()
 	self.BagFrame.goldText:SetText(GetCoinTextureString(GetMoney(), 12))
 end

-function MOD:VendorGrays(destroy, silent, request)
-	if((not MerchantFrame or not MerchantFrame:IsShown()) and (not destroy) and (not request)) then
-		SV:AddonMessage(L["You must be at a vendor."])
-		return
-	end
-
-	local totalValue = 0;
-	local canDelete = 0;
-
-	for bagID = 0, 4 do
-		for slot = 1, GetContainerNumSlots(bagID) do
-			local itemLink = GetContainerItemLink(bagID, slot)
-			if(itemLink) then
-				local name, link, quality, iLevel, reqLevel, class, subclass, maxStack, equipSlot, texture, vendorPrice = GetItemInfo(itemLink)
-				if(vendorPrice) then
-					local itemCount = select(2, GetContainerItemInfo(bagID, slot))
-					local sellPrice = vendorPrice * itemCount
-					local itemID = GetContainerItemID(bagID, slot);
-					if(destroy) then
-						if(find(itemLink, "ff9d9d9d")) then
-							if(not request) then
-								PickupContainerItem(bagID, slot)
-								DeleteCursorItem()
-							end
-							totalValue = totalValue + sellPrice;
-							canDelete = canDelete + 1
-						elseif(itemID and MOD.private.junk[itemID]) then
-							if(not request) then
-								PickupContainerItem(bagID, slot)
-								DeleteCursorItem()
-							end
-							totalValue = totalValue + sellPrice;
-							canDelete = canDelete + 1
-						end
-					elseif(sellPrice > 0) then
-						if(quality == 0) then
-							if(not request) then
-								UseContainerItem(bagID, slot)
-								PickupMerchantItem()
-							end
-							totalValue = totalValue + sellPrice
-						elseif(itemID and MOD.private.junk[itemID]) then
-							if(not request) then
-								UseContainerItem(bagID, slot)
-								PickupMerchantItem()
-							end
-							totalValue = totalValue + sellPrice
-						end
-					end
-				end
-			end
-		end
-	end
-
-	if request then return totalValue end
-
-	if(not silent) then
-		if(totalValue > 0) then
-			local prefix, strMsg
-			local gold, silver, copper = floor(totalValue / 10000) or 0, floor(totalValue%10000 / 100) or 0, totalValue%100;
-
-			if(not destroy) then
-				strMsg = ("%s |cffffffff%s%s%s%s%s%s|r"):format(L["Vendored gray items for:"], gold, L["goldabbrev"], silver, L["silverabbrev"], copper, L["copperabbrev"])
-				SV:AddonMessage(strMsg)
-			else
-				if(canDelete > 0) then
-					prefix = ("|cffffffff%s%s%s%s%s%s|r"):format(gold, L["goldabbrev"], silver, L["silverabbrev"], copper, L["copperabbrev"])
-					strMsg = (L["Deleted %d gray items. Total Worth: %s"]):format(canDelete, prefix)
-					SV:AddonMessage(strMsg)
-				else
-					SV:AddonMessage(L["No gray items to delete."])
-				end
-			end
-		else
-			if(not destroy) then
-				SV:AddonMessage(L["No gray items to sell."])
-			else
-				SV:AddonMessage(L["No gray items to delete."])
-			end
-		end
+function MOD:VendorCheck(itemID, bagID, slot)
+	if(itemID and MOD.private.junk[itemID]) then
+		UseContainerItem(bagID, slot)
+		PickupMerchantItem()
+		return true
 	end
 end

diff --git a/SVUI_Inventory/SVUI_Inventory.toc b/SVUI_Inventory/SVUI_Inventory.toc
index c90a226..15676e6 100644
--- a/SVUI_Inventory/SVUI_Inventory.toc
+++ b/SVUI_Inventory/SVUI_Inventory.toc
@@ -14,7 +14,7 @@
 ## X-Donate: PayPal:munglunch@gmail.com
 ## X-License: All Rights Reserved
 ## X-Category: Interface Enhancements
-## X-Curse-Packaged-Version: r20150226002001
+## X-Curse-Packaged-Version: r20150301050204
 ## X-Curse-Project-Name: SuperVillain UI: Inventory
 ## X-Curse-Project-ID: supervillain-ui-inventory
 ## X-Curse-Repository-ID: wow/supervillain-ui-inventory/mainline
diff --git a/SVUI_Maps/SVUI_Maps.lua b/SVUI_Maps/SVUI_Maps.lua
index 8be0cc4..69fd952 100644
--- a/SVUI_Maps/SVUI_Maps.lua
+++ b/SVUI_Maps/SVUI_Maps.lua
@@ -295,17 +295,24 @@ local function UpdateMiniMapCoords()
 			if(not MiniMapCoords:IsShown()) then
 				MiniMapCoords:FadeIn()
 			end
+			MiniMapCoords.XLabel:SetText("X:")
 			MiniMapCoords.X:SetFormattedText(CoordPattern, playerX)
+			MiniMapCoords.YLabel:SetText("Y:")
 			MiniMapCoords.Y:SetFormattedText(CoordPattern, playerY)
 		else
-			if(MiniMapCoords:IsShown()) then
-				MiniMapCoords:FadeOut(0.2, 1, 0, true)
-			end
+			-- if(MiniMapCoords:IsShown()) then
+			-- 	MiniMapCoords:FadeOut(0.2, 1, 0)
+			-- end
+			MiniMapCoords.XLabel:SetText("")
+			MiniMapCoords.X:SetText("")
+			MiniMapCoords.YLabel:SetText("")
+			MiniMapCoords.Y:SetText("")
 		end
 	else
-		if(MiniMapCoords:IsShown()) then
-			MiniMapCoords:FadeOut(0.2, 1, 0, true)
-		end
+		MiniMapCoords.XLabel:SetText("")
+		MiniMapCoords.X:SetText("")
+		MiniMapCoords.YLabel:SetText("")
+		MiniMapCoords.Y:SetText("")
 	end
 end

@@ -749,7 +756,7 @@ end

 function MOD:ReLoad()
 	self:RefreshMiniMap()
-	self:UpdateMinimapButtonSettings()
+	self:UpdateMinimapButtonSettings(true)
 end

 local function MapTriggerFired()
diff --git a/SVUI_QuestTracker/Changelog-SVUI_QuestTracker-r20150224202747.txt b/SVUI_QuestTracker/Changelog-SVUI_QuestTracker-r20150224202747.txt
deleted file mode 100644
index 87c3a9f..0000000
--- a/SVUI_QuestTracker/Changelog-SVUI_QuestTracker-r20150224202747.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Steven Jackson:
-	- build update
-	- updating with core
-	- toc update
-	- more updates
-	- fix for file struct
-	- First commit
diff --git a/SVUI_QuestTracker/Changelog-SVUI_QuestTracker-r20150302001907.txt b/SVUI_QuestTracker/Changelog-SVUI_QuestTracker-r20150302001907.txt
new file mode 100644
index 0000000..2c155ce
--- /dev/null
+++ b/SVUI_QuestTracker/Changelog-SVUI_QuestTracker-r20150302001907.txt
@@ -0,0 +1,8 @@
+Steven Jackson:
+	- ace modifications, petbattle adjustments
+	- build update
+	- updating with core
+	- toc update
+	- more updates
+	- fix for file struct
+	- First commit
diff --git a/SVUI_QuestTracker/SVUI_QuestTracker.toc b/SVUI_QuestTracker/SVUI_QuestTracker.toc
index c73bf88..45fbd38 100644
--- a/SVUI_QuestTracker/SVUI_QuestTracker.toc
+++ b/SVUI_QuestTracker/SVUI_QuestTracker.toc
@@ -12,7 +12,7 @@
 ## X-Donate: PayPal:munglunch@gmail.com
 ## X-License: All Rights Reserved
 ## X-Category: Interface Enhancements
-## X-Curse-Packaged-Version: r20150224202747
+## X-Curse-Packaged-Version: r20150302001907
 ## X-Curse-Project-Name: SuperVillain UI: QuestTracker
 ## X-Curse-Project-ID: supervillain-ui-questtracker
 ## X-Curse-Repository-ID: wow/supervillain-ui-questtracker/mainline
diff --git a/SVUI_QuestTracker/components/quests.lua b/SVUI_QuestTracker/components/quests.lua
index 9dfbb93..794466f 100644
--- a/SVUI_QuestTracker/components/quests.lua
+++ b/SVUI_QuestTracker/components/quests.lua
@@ -277,6 +277,8 @@ do
 		itembutton:RegisterEvent('QUEST_POI_UPDATE');
         itembutton:SetScript('OnEvent', Button_OnEvent);

+        SV:ManageVisibility(itembutton)
+
         return itembutton
     end

diff --git a/SVUI_Skins/Changelog-SVUI_Skins-r20150226001917.txt b/SVUI_Skins/Changelog-SVUI_Skins-r20150226001917.txt
deleted file mode 100644
index 8f70155..0000000
--- a/SVUI_Skins/Changelog-SVUI_Skins-r20150226001917.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-Steven Jackson:
-	- updated styles in interface options
-	- api updates
-	- Styling update of quest items and garrison panels
-	- build update
-	- 6.1 style update
-	- updating with core
-	- toc update
-	- DBM fix
-	- more updates
-	- fix for file struct
-	- First Commit
diff --git a/SVUI_Skins/Changelog-SVUI_Skins-r20150302001847.txt b/SVUI_Skins/Changelog-SVUI_Skins-r20150302001847.txt
new file mode 100644
index 0000000..d2b380f
--- /dev/null
+++ b/SVUI_Skins/Changelog-SVUI_Skins-r20150302001847.txt
@@ -0,0 +1,14 @@
+Steven Jackson:
+	- ace modifications, petbattle adjustments
+	- Fixed profiles, filters and lua errors
+	- updated styles in interface options
+	- api updates
+	- Styling update of quest items and garrison panels
+	- build update
+	- 6.1 style update
+	- updating with core
+	- toc update
+	- DBM fix
+	- more updates
+	- fix for file struct
+	- First Commit
diff --git a/SVUI_Skins/SVUI_Skins.toc b/SVUI_Skins/SVUI_Skins.toc
index bf47008..c567d79 100644
--- a/SVUI_Skins/SVUI_Skins.toc
+++ b/SVUI_Skins/SVUI_Skins.toc
@@ -14,7 +14,7 @@
 ## X-Donate: PayPal:munglunch@gmail.com
 ## X-License: All Rights Reserved
 ## X-Category: Interface Enhancements
-## X-Curse-Packaged-Version: r20150226001917
+## X-Curse-Packaged-Version: r20150302001847
 ## X-Curse-Project-Name: SuperVillain UI: Skins
 ## X-Curse-Project-ID: supervillain-ui-skins
 ## X-Curse-Repository-ID: wow/supervillain-ui-skins/mainline
diff --git a/SVUI_Skins/components/addons/Ace3.lua b/SVUI_Skins/components/addons/Ace3.lua
index 6e920ab..de4f463 100644
--- a/SVUI_Skins/components/addons/Ace3.lua
+++ b/SVUI_Skins/components/addons/Ace3.lua
@@ -64,10 +64,10 @@ local function Widget_PaginationStyle(...)
 	SV.API:Set("PageButton", ...)
 end

-local function SetAdjustedStyle(this, template, xTopleft, yTopleft, xBottomright, yBottomright)
+local function SetAdjustedStyle(this, xTopleft, yTopleft, xBottomright, yBottomright)
 	if(not this or (this and this.Panel)) then return end
-	template = template or "Default"
-	this:SetStyle("Frame", template)
+	this:RemoveTextures()
+	this:SetStyle("Frame", "Transparent")
 	this.Panel:SetPoint("TOPLEFT", this, "TOPLEFT", xTopleft, yTopleft)
 	this.Panel:SetPoint("BOTTOMRIGHT", this, "BOTTOMRIGHT", xBottomright, yBottomright)
 end
@@ -85,7 +85,8 @@ local WidgetDropButton_OnClick = function(self)
 	local obj = self.obj;
 	local widgetFrame = obj.dropdown
 	if(widgetFrame) then
-		SetAdjustedStyle(widgetFrame, "Default", 20, -2, -20, 2)
+    	widgetFrame:SetWidth(220)
+		widgetFrame:SetStyle("Frame", "Default")
 	end
 end
 --[[
@@ -136,7 +137,7 @@ local function StyleAceGUI(event, addon)
 			widgetButton:SetFrameLevel(widgetButton:GetFrameLevel() + 1)
 			Widget_PaginationStyle(widgetButton, true)

-			SetAdjustedStyle(widgetDropdown, "Default", 20, -2, -20, 2)
+			SetAdjustedStyle(widgetDropdown, 20, -2, -20, 2)

 			widgetButton:SetParent(widgetDropdown.Panel)
 			widget.text:SetParent(widgetDropdown.Panel)
@@ -178,26 +179,24 @@ local function StyleAceGUI(event, addon)
 			dropButton:ClearAllPoints()
 			dropButton:ModPoint("RIGHT", widgetFrame, "RIGHT", -10, -6)
 			if(not widgetFrame.Panel) then
-				if(widgetType == "LSM30_Font") then
-					SetAdjustedStyle(widgetFrame, "Transparent", 20, -17, 2, -2)
-				elseif(widgetType == "LSM30_Sound") then
-					SetAdjustedStyle(widgetFrame, "Transparent", 20, -17, 2, -2)
+				if(widgetType == "LSM30_Sound") then
+					SetAdjustedStyle(widgetFrame, 20, -17, 2, -2)
 					widget.soundbutton:SetParent(widgetFrame.Panel)
 					widget.soundbutton:ClearAllPoints()
 					widget.soundbutton:ModPoint("LEFT", widgetFrame.Panel, "LEFT", 2, 0)
 				elseif(widgetType == "LSM30_Statusbar") then
-					SetAdjustedStyle(widgetFrame, "Transparent", 20, -17, 2, -2)
+					SetAdjustedStyle(widgetFrame, 20, -17, 2, -2)
 					widget.bar:SetParent(widgetFrame.Panel)
 					widget.bar:InsetPoints()
 				elseif(widgetType == "LSM30_Border" or widgetType == "LSM30_Background") then
-					SetAdjustedStyle(widgetFrame, "Transparent", 42, -16, 2, -2)
+					SetAdjustedStyle(widgetFrame, 42, -17, 2, -2)
+				else
+					SetAdjustedStyle(widgetFrame, 20, -17, 2, -2)
 				end
 				widgetFrame.Panel:ModPoint("BOTTOMRIGHT", dropButton, "BOTTOMRIGHT", 2, -2)
-				SetAdjustedStyle(widgetFrame, "Transparent", 20, -2, 2, -2)
 			end
 			dropButton:SetParent(widgetFrame.Panel)
 			widgetFrame.text:SetParent(widgetFrame.Panel)
-			dropButton:HookScript("OnClick", WidgetDropButton_OnClick)
 		end
 		return regWidget(self, widget)
 	end
diff --git a/SVUI_Skins/components/blizzard/achievement.lua b/SVUI_Skins/components/blizzard/achievement.lua
index 92f5256..de92a60 100644
--- a/SVUI_Skins/components/blizzard/achievement.lua
+++ b/SVUI_Skins/components/blizzard/achievement.lua
@@ -163,7 +163,7 @@ local function AchievementStyle()
 		end
 	end

-	SV.API:Set("Window", AchievementFrame)
+	SV.API:Set("Window", AchievementFrame, false, false, 1, 4, 8)

 	AchievementFrameSummaryAchievements:RemoveTextures(true)
 	AchievementFrameSummaryAchievements:SetStyle("Frame", 'Inset')
@@ -221,16 +221,16 @@ local function AchievementStyle()
 	AchievementFrame:HookScript("OnShow", function(self)
 		if(self.containerStyled) then return end
 		for i = 1, 20 do
-			SV.API:Set("ItemButton", _G["AchievementFrameCategoriesContainerButton"..i])
+			SV.API:Set("!_ItemButton", _G["AchievementFrameCategoriesContainerButton"..i])
 		end
 		self.containerStyled = true
 	end)

 	hooksecurefunc("AchievementButton_DisplayAchievement", function(self)
 		if(self.accountWide and self.bg3) then
-			self.bg3:SetTexture(ACHIEVEMENTUI_BLUEBORDER_R, ACHIEVEMENTUI_BLUEBORDER_G, ACHIEVEMENTUI_BLUEBORDER_B)
+			self.bg3:SetBackdropBorderColor(ACHIEVEMENTUI_BLUEBORDER_R, ACHIEVEMENTUI_BLUEBORDER_G, ACHIEVEMENTUI_BLUEBORDER_B)
 		elseif self.bg3 then
-			self.bg3:SetTexture(0,0,0,1)
+			self.bg3:SetBackdropBorderColor(0,0,0)
 		end
 	end)

@@ -252,14 +252,14 @@ local function AchievementStyle()
 			button:RemoveTextures(true)

 			button.bg1 = button:CreateTexture(nil, "BACKGROUND", nil, 4)
-			button.bg1:SetTexture(SV.BaseTexture)
+			button.bg1:SetTexture(SV.media.background.button)
 			button.bg1:SetVertexColor(unpack(SV.media.color.default))
 			button.bg1:ModPoint("TOPLEFT", 1, -1)
 			button.bg1:ModPoint("BOTTOMRIGHT", -1, 1)

-			button.bg3 = button:CreateTexture(nil, "BACKGROUND", nil, 2)
-			button.bg3:SetTexture(unpack(SV.media.color.default))
-			button.bg3:WrapPoints(1)
+			button.bg3 = CreateFrame("Frame", nil, button)
+			button.bg3:WrapPoints(3,3)
+			button.bg3:SetBackdrop(SV.media.backdrop.shadowoutline)

 			if(desc) then
 				desc:SetTextColor(0.6, 0.6, 0.6)
@@ -291,7 +291,7 @@ local function AchievementStyle()

 			if(track) then
 				track:ClearAllPoints()
-				track:ModPoint("BOTTOMLEFT", 1, 1)
+				track:ModPoint("BOTTOMLEFT", 1, 5)
 				track:RemoveTextures()
 				track:SetStyle("Checkbox")
 				track.ListParent = button
diff --git a/SVUI_Skins/components/blizzard/petbattle.lua b/SVUI_Skins/components/blizzard/petbattle.lua
index a742777..2509597 100644
--- a/SVUI_Skins/components/blizzard/petbattle.lua
+++ b/SVUI_Skins/components/blizzard/petbattle.lua
@@ -26,10 +26,11 @@ local PetBattleActionBar = CreateFrame("Frame", "SVUI_PetBattleActionBar", UIPar
 local ITEM_QUALITY_COLORS = _G.ITEM_QUALITY_COLORS;

 local function PetBattleButtonHelper(frame)
-	frame:SetStyle("Frame", "Blackout")
+	frame:SetStyle("Frame", "Icon", 2, 2, 2)
 	frame:SetNormalTexture("")
+	frame:SetPushedTexture("")
 	frame.Icon:SetTexCoord(unpack(_G.SVUI_ICON_COORDS))
-	frame.Icon:SetDrawLayer('BORDER')
+	frame.Icon:SetDrawLayer('BACKGROUND')
 	frame.Icon:SetParent(frame.Panel)
 	if(frame.SelectedHighlight) then frame.SelectedHighlight:SetAlpha(0) end
 	if(frame.checked) then frame.checked = true end
@@ -213,17 +214,15 @@ local function PetBattleStyle()
 			frame.IconBackdrop = CreateFrame("Frame", nil, frame)
 			frame.IconBackdrop:SetFrameLevel(0)
 			frame.IconBackdrop:SetAllPoints(frame.Icon)
-			frame.IconBackdrop:SetStyle("Icon");
-
-			frame.IconBackdrop.Panel:SetStyle("!_Frame", "Blackout")
+			frame.IconBackdrop:SetStyle("Icon", 2, 2, 2);

 			frame.BorderFlash:Die()
 			frame.HealthBarBG:Die()
 			frame.HealthBarFrame:Die()
 			frame.HealthBarBackdrop = CreateFrame("Frame", nil, frame)
 			frame.HealthBarBackdrop:SetFrameLevel(frame:GetFrameLevel()-1)
-			frame.HealthBarBackdrop:SetStyle("!_Frame", "Blackout")
-			frame.HealthBarBackdrop:ModWidth(frame.healthBarWidth+(2))
+			frame.HealthBarBackdrop:SetStyle("Frame", "Bar")
+			frame.HealthBarBackdrop:SetWidth(frame.healthBarWidth + 4)
 			frame.ActualHealthBar:SetTexture(SV.media.statusbar.default)
 			frame.PetTypeFrame = CreateFrame("Frame", nil, frame)
 			frame.PetTypeFrame:ModSize(100, 23)
@@ -237,26 +236,26 @@ local function PetBattleStyle()
 			frame.FirstAttack:ModSize(30)
 			frame.FirstAttack:SetTexture("Interface\\PetBattles\\PetBattle-StatIcons")
 			if i == 1 then
-				frame.HealthBarBackdrop:ModPoint('TOPLEFT', frame.ActualHealthBar, 'TOPLEFT', -1, 1)
-				frame.HealthBarBackdrop:ModPoint('BOTTOMLEFT', frame.ActualHealthBar, 'BOTTOMLEFT', -1, -1)
+				frame.HealthBarBackdrop:SetPoint('TOPLEFT', frame.ActualHealthBar, 'TOPLEFT', -1, 1)
+				frame.HealthBarBackdrop:SetPoint('BOTTOMLEFT', frame.ActualHealthBar, 'BOTTOMLEFT', -1, -1)
 				frame.ActualHealthBar:SetVertexColor(171/255, 214/255, 116/255)
 				PetBattleFrame.Ally2.iconPoint = frame.IconBackdrop;
 				PetBattleFrame.Ally3.iconPoint = frame.IconBackdrop;
-				frame.ActualHealthBar:ModPoint('BOTTOMLEFT', frame.Icon, 'BOTTOMRIGHT', 10, 0)
-				frame.Name:ModPoint('BOTTOMLEFT', frame.ActualHealthBar, 'TOPLEFT', 0, 8)
+				frame.ActualHealthBar:SetPoint('BOTTOMLEFT', frame.Icon, 'BOTTOMRIGHT', 10, 0)
+				frame.Name:SetPoint('BOTTOMLEFT', frame.ActualHealthBar, 'TOPLEFT', 0, 8)
 				frame.PetTypeFrame:SetPoint("BOTTOMRIGHT", frame.HealthBarBackdrop, "TOPRIGHT", 0, 4)
 				frame.PetTypeFrame.text:SetPoint("RIGHT")
 				frame.FirstAttack:SetPoint("LEFT", frame.HealthBarBackdrop, "RIGHT", 5, 0)
 				frame.FirstAttack:SetTexCoord(frame.SpeedIcon:GetTexCoord())
 				frame.FirstAttack:SetVertexColor(.1, .1, .1, 1)
 			else
-				frame.HealthBarBackdrop:ModPoint('TOPRIGHT', frame.ActualHealthBar, 'TOPRIGHT', 1, 1)
-				frame.HealthBarBackdrop:ModPoint('BOTTOMRIGHT', frame.ActualHealthBar, 'BOTTOMRIGHT', 1, -1)
+				frame.HealthBarBackdrop:SetPoint('TOPRIGHT', frame.ActualHealthBar, 'TOPRIGHT', 1, 1)
+				frame.HealthBarBackdrop:SetPoint('BOTTOMRIGHT', frame.ActualHealthBar, 'BOTTOMRIGHT', 1, -1)
 				frame.ActualHealthBar:SetVertexColor(196/255, 30/255, 60/255)
 				PetBattleFrame.Enemy2.iconPoint = frame.IconBackdrop;
 				PetBattleFrame.Enemy3.iconPoint = frame.IconBackdrop;
-				frame.ActualHealthBar:ModPoint('BOTTOMRIGHT', frame.Icon, 'BOTTOMLEFT', -10, 0)
-				frame.Name:ModPoint('BOTTOMRIGHT', frame.ActualHealthBar, 'TOPRIGHT', 0, 8)
+				frame.ActualHealthBar:SetPoint('BOTTOMRIGHT', frame.Icon, 'BOTTOMLEFT', -10, 0)
+				frame.Name:SetPoint('BOTTOMRIGHT', frame.ActualHealthBar, 'TOPRIGHT', 0, 8)
 				frame.PetTypeFrame:SetPoint("BOTTOMLEFT", frame.HealthBarBackdrop, "TOPLEFT", 2, 4)
 				frame.PetTypeFrame.text:SetPoint("LEFT")
 				frame.FirstAttack:SetPoint("RIGHT", frame.HealthBarBackdrop, "LEFT", -5, 0)
@@ -272,7 +271,7 @@ local function PetBattleStyle()
 			frame.LevelUnderlay:SetAlpha(0)
 			frame.Level:SetFontObject(NumberFont_Outline_Huge)
 			frame.Level:ClearAllPoints()
-			frame.Level:ModPoint('BOTTOMLEFT', frame.Icon, 'BOTTOMLEFT', -2, -2)
+			frame.Level:SetPoint('BOTTOMLEFT', frame.Icon, 'BOTTOMLEFT', -2, -2)
 			if frame.SpeedIcon then
 				frame.SpeedIcon:ClearAllPoints()
 				frame.SpeedIcon:SetPoint("CENTER")
@@ -293,9 +292,7 @@ local function PetBattleStyle()
 			frame.IconBackdrop = CreateFrame("Frame", nil, frame)
 			frame.IconBackdrop:SetFrameLevel(0)
 			frame.IconBackdrop:SetAllPoints(frame)
-			frame.IconBackdrop:SetStyle("Icon");
-
-			frame.IconBackdrop.Panel:SetStyle("!_Frame", "Blackout")
+			frame.IconBackdrop:SetStyle("Icon", 2, 2, 2);

 			frame:ClearAllPoints()
 			frame.healthBarWidth = 40;
@@ -304,10 +301,10 @@ local function PetBattleStyle()
 			frame.ActualHealthBar:SetTexture(SV.media.statusbar.default)
 			frame.HealthBarBackdrop = CreateFrame("Frame", nil, frame)
 			frame.HealthBarBackdrop:SetFrameLevel(frame:GetFrameLevel()-1)
-			frame.HealthBarBackdrop:SetStyle("!_Frame", "Blackout")
-			frame.HealthBarBackdrop:ModWidth(frame.healthBarWidth+2)
-			frame.HealthBarBackdrop:ModPoint('TOPLEFT', frame.ActualHealthBar, 'TOPLEFT', -1, 1)
-			frame.HealthBarBackdrop:ModPoint('BOTTOMLEFT', frame.ActualHealthBar, 'BOTTOMLEFT', -1, -1)
+			frame.HealthBarBackdrop:SetStyle("Frame", "Bar")
+			frame.HealthBarBackdrop:ModWidth(frame.healthBarWidth + 4)
+			frame.HealthBarBackdrop:SetPoint('TOPLEFT', frame.ActualHealthBar, 'TOPLEFT', -1, 1)
+			frame.HealthBarBackdrop:SetPoint('BOTTOMLEFT', frame.ActualHealthBar, 'BOTTOMLEFT', -1, -1)
 			frame.hasTempBG = true
 		end
 	end
@@ -317,7 +314,7 @@ local function PetBattleStyle()
 	PetBattleActionBar:EnableMouse(true)
 	PetBattleActionBar:SetFrameLevel(0)
 	PetBattleActionBar:SetFrameStrata('BACKGROUND')
-	PetBattleActionBar:SetStyle("!_Frame", "Blackout")
+	PetBattleActionBar:SetStyle("Frame", "Bar")

 	local SVUI_DockBottomCenter = _G.SVUI_DockBottomCenter;
 	if(SVUI_DockBottomCenter) then
diff --git a/SVUI_UnitFrames/Changelog-SVUI_UnitFrames-r20150224202846.txt b/SVUI_UnitFrames/Changelog-SVUI_UnitFrames-r20150224202846.txt
deleted file mode 100644
index c11bc87..0000000
--- a/SVUI_UnitFrames/Changelog-SVUI_UnitFrames-r20150224202846.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Steven Jackson:
-	- build update
-	- release 1.0.04
-	- updating with core
-	- toc update
-	- color updates
-	- fix for file struct
-	- First commit
diff --git a/SVUI_UnitFrames/Changelog-SVUI_UnitFrames-r20150301045928.txt b/SVUI_UnitFrames/Changelog-SVUI_UnitFrames-r20150301045928.txt
new file mode 100644
index 0000000..f82b645
--- /dev/null
+++ b/SVUI_UnitFrames/Changelog-SVUI_UnitFrames-r20150301045928.txt
@@ -0,0 +1,10 @@
+Steven Jackson:
+	- Fixed profiles, filters and lua errors
+	- api updates
+	- build update
+	- release 1.0.04
+	- updating with core
+	- toc update
+	- color updates
+	- fix for file struct
+	- First commit
diff --git a/SVUI_UnitFrames/SVUI_UnitFrames.toc b/SVUI_UnitFrames/SVUI_UnitFrames.toc
index c3405aa..a020771 100644
--- a/SVUI_UnitFrames/SVUI_UnitFrames.toc
+++ b/SVUI_UnitFrames/SVUI_UnitFrames.toc
@@ -13,7 +13,7 @@
 ## X-Donate: PayPal:munglunch@gmail.com
 ## X-License: All Rights Reserved
 ## X-Category: Interface Enhancements
-## X-Curse-Packaged-Version: r20150224202846
+## X-Curse-Packaged-Version: r20150301045928
 ## X-Curse-Project-Name: SuperVillain UI: UnitFrames
 ## X-Curse-Project-ID: supervillain-ui-unitframes
 ## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline
diff --git a/SVUI_UnitFrames/elements/essentials.lua b/SVUI_UnitFrames/elements/essentials.lua
index c9d3c0d..25edb3d 100644
--- a/SVUI_UnitFrames/elements/essentials.lua
+++ b/SVUI_UnitFrames/elements/essentials.lua
@@ -71,6 +71,16 @@ local FontMapping = {
 	["tank"] = "SVUI_Font_Unit_Small",
 	["assist"] = "SVUI_Font_Unit_Small",
 };
+local ThreatMapping = {
+	["player"] = true,
+	["pet"] = true,
+	["focus"] = true,
+	["party"] = true,
+	["raid"] = true,
+	["raidpet"] = true,
+	["tank"] = true,
+	["assist"] = true,
+};

 local _hook_ActionPanel_OnSizeChanged = function(self)
 	local width,height = self:GetSize()
@@ -100,7 +110,7 @@ ACTIONPANEL
 ##########################################################
 ]]--
 local UpdateThreat = function(self, event, unit)
-	if(not unit) then return end
+	if(not unit or (self.unit ~= unit) or not IsLoggedIn()) then return end
 	local threat = self.Threat
 	local status = UnitThreatSituation(unit)
 	local r, g, b
@@ -115,7 +125,7 @@ local UpdateThreat = function(self, event, unit)
 end

 local UpdatePlayerThreat = function(self, event, unit)
-	if(unit ~= "player") then return end
+	if(unit ~= "player" or not IsLoggedIn()) then return end
 	local threat = self.Threat
 	local aggro = self.Aggro
 	local status = UnitThreatSituation(unit)
@@ -401,8 +411,9 @@ function MOD:SetActionPanel(frame, unit, noHealthText, noPowerText, noMiscText)
 	frame.StatusPanel.texture:SetAllPoints()
 	frame.StatusPanel:SetFrameStrata("LOW")
 	frame.StatusPanel:SetFrameLevel(28)
-
-	frame.Threat = CreateThreat(frame, unit)
+	if(ThreatMapping[unit]) then
+		frame.Threat = CreateThreat(frame, unit)
+	end
 end
 --[[
 ##########################################################
diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc b/SVUI_UnitFrames/libs/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc
index 2efb4f7..0ae1cb5 100644
--- a/SVUI_UnitFrames/libs/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc
+++ b/SVUI_UnitFrames/libs/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc
@@ -17,5 +17,9 @@
 ## X-Curse-Project-Name: SuperVillain UI: UnitFrames
 ## X-Curse-Project-ID: supervillain-ui-unitframes
 ## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline
+## X-Curse-Packaged-Version: r20150301045928
+## X-Curse-Project-Name: SuperVillain UI: UnitFrames
+## X-Curse-Project-ID: supervillain-ui-unitframes
+## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline

 oUF_ActionPanel.lua
\ No newline at end of file
diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_Afflicted/oUF_Afflicted.toc b/SVUI_UnitFrames/libs/Plugins/oUF_Afflicted/oUF_Afflicted.toc
index 6694534..fdc1ed5 100644
--- a/SVUI_UnitFrames/libs/Plugins/oUF_Afflicted/oUF_Afflicted.toc
+++ b/SVUI_UnitFrames/libs/Plugins/oUF_Afflicted/oUF_Afflicted.toc
@@ -17,5 +17,9 @@
 ## X-Curse-Project-Name: SuperVillain UI: UnitFrames
 ## X-Curse-Project-ID: supervillain-ui-unitframes
 ## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline
+## X-Curse-Packaged-Version: r20150301045928
+## X-Curse-Project-Name: SuperVillain UI: UnitFrames
+## X-Curse-Project-ID: supervillain-ui-unitframes
+## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline

 oUF_ActionPanel.lua
\ No newline at end of file
diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_AuraWatch/oUF_AuraWatch.toc b/SVUI_UnitFrames/libs/Plugins/oUF_AuraWatch/oUF_AuraWatch.toc
index 5da03dc..56cc07e 100644
--- a/SVUI_UnitFrames/libs/Plugins/oUF_AuraWatch/oUF_AuraWatch.toc
+++ b/SVUI_UnitFrames/libs/Plugins/oUF_AuraWatch/oUF_AuraWatch.toc
@@ -17,5 +17,9 @@
 ## X-Curse-Project-Name: SuperVillain UI: UnitFrames
 ## X-Curse-Project-ID: supervillain-ui-unitframes
 ## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline
+## X-Curse-Packaged-Version: r20150301045928
+## X-Curse-Project-Name: SuperVillain UI: UnitFrames
+## X-Curse-Project-ID: supervillain-ui-unitframes
+## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline

 oUF_AuraWatch.lua
\ No newline at end of file
diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_CombatFader/oUF_CombatFader.toc b/SVUI_UnitFrames/libs/Plugins/oUF_CombatFader/oUF_CombatFader.toc
index cb8e253..296101f 100644
--- a/SVUI_UnitFrames/libs/Plugins/oUF_CombatFader/oUF_CombatFader.toc
+++ b/SVUI_UnitFrames/libs/Plugins/oUF_CombatFader/oUF_CombatFader.toc
@@ -16,5 +16,9 @@
 ## X-Curse-Project-Name: SuperVillain UI: UnitFrames
 ## X-Curse-Project-ID: supervillain-ui-unitframes
 ## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline
+## X-Curse-Packaged-Version: r20150301045928
+## X-Curse-Project-Name: SuperVillain UI: UnitFrames
+## X-Curse-Project-ID: supervillain-ui-unitframes
+## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline

 oUF_CombatFader.lua
\ No newline at end of file
diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_Druidness/oUF_Druidness.toc b/SVUI_UnitFrames/libs/Plugins/oUF_Druidness/oUF_Druidness.toc
index 9596577..e934e12 100644
--- a/SVUI_UnitFrames/libs/Plugins/oUF_Druidness/oUF_Druidness.toc
+++ b/SVUI_UnitFrames/libs/Plugins/oUF_Druidness/oUF_Druidness.toc
@@ -17,6 +17,10 @@
 ## X-Curse-Project-Name: SuperVillain UI: UnitFrames
 ## X-Curse-Project-ID: supervillain-ui-unitframes
 ## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline
+## X-Curse-Packaged-Version: r20150301045928
+## X-Curse-Project-Name: SuperVillain UI: UnitFrames
+## X-Curse-Project-ID: supervillain-ui-unitframes
+## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline

 oUF_Druidness.lua

diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_Experience/oUF_Experience.toc b/SVUI_UnitFrames/libs/Plugins/oUF_Experience/oUF_Experience.toc
index 7bb02ee..317adf9 100644
--- a/SVUI_UnitFrames/libs/Plugins/oUF_Experience/oUF_Experience.toc
+++ b/SVUI_UnitFrames/libs/Plugins/oUF_Experience/oUF_Experience.toc
@@ -16,5 +16,9 @@
 ## X-Curse-Project-Name: SuperVillain UI: UnitFrames
 ## X-Curse-Project-ID: supervillain-ui-unitframes
 ## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline
+## X-Curse-Packaged-Version: r20150301045928
+## X-Curse-Project-Name: SuperVillain UI: UnitFrames
+## X-Curse-Project-ID: supervillain-ui-unitframes
+## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline

 oUF_Experience.lua
diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_Friendship/oUF_Friendship.toc b/SVUI_UnitFrames/libs/Plugins/oUF_Friendship/oUF_Friendship.toc
index 09aa9e8..5424e3c 100644
--- a/SVUI_UnitFrames/libs/Plugins/oUF_Friendship/oUF_Friendship.toc
+++ b/SVUI_UnitFrames/libs/Plugins/oUF_Friendship/oUF_Friendship.toc
@@ -16,5 +16,9 @@
 ## X-Curse-Project-Name: SuperVillain UI: UnitFrames
 ## X-Curse-Project-ID: supervillain-ui-unitframes
 ## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline
+## X-Curse-Packaged-Version: r20150301045928
+## X-Curse-Project-Name: SuperVillain UI: UnitFrames
+## X-Curse-Project-ID: supervillain-ui-unitframes
+## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline

 oUF_Friendship.lua
diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_Gladiator/oUF_Gladiator.toc b/SVUI_UnitFrames/libs/Plugins/oUF_Gladiator/oUF_Gladiator.toc
index 4dc5260..6909b8f 100644
--- a/SVUI_UnitFrames/libs/Plugins/oUF_Gladiator/oUF_Gladiator.toc
+++ b/SVUI_UnitFrames/libs/Plugins/oUF_Gladiator/oUF_Gladiator.toc
@@ -17,5 +17,9 @@
 ## X-Curse-Project-Name: SuperVillain UI: UnitFrames
 ## X-Curse-Project-ID: supervillain-ui-unitframes
 ## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline
+## X-Curse-Packaged-Version: r20150301045928
+## X-Curse-Project-Name: SuperVillain UI: UnitFrames
+## X-Curse-Project-ID: supervillain-ui-unitframes
+## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline

 oUF_Gladiator.lua
\ No newline at end of file
diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_MageMagic/oUF_MageMagic.toc b/SVUI_UnitFrames/libs/Plugins/oUF_MageMagic/oUF_MageMagic.toc
index 4363f9b..d3af7a9 100644
--- a/SVUI_UnitFrames/libs/Plugins/oUF_MageMagic/oUF_MageMagic.toc
+++ b/SVUI_UnitFrames/libs/Plugins/oUF_MageMagic/oUF_MageMagic.toc
@@ -16,5 +16,9 @@
 ## X-Curse-Project-Name: SuperVillain UI: UnitFrames
 ## X-Curse-Project-ID: supervillain-ui-unitframes
 ## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline
+## X-Curse-Packaged-Version: r20150301045928
+## X-Curse-Project-Name: SuperVillain UI: UnitFrames
+## X-Curse-Project-ID: supervillain-ui-unitframes
+## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline

 oUF_MageMagic.lua
\ No newline at end of file
diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_RaidDebuffs/oUF_RaidDebuffs.toc b/SVUI_UnitFrames/libs/Plugins/oUF_RaidDebuffs/oUF_RaidDebuffs.toc
index bc2ee87..6ac3cb9 100644
--- a/SVUI_UnitFrames/libs/Plugins/oUF_RaidDebuffs/oUF_RaidDebuffs.toc
+++ b/SVUI_UnitFrames/libs/Plugins/oUF_RaidDebuffs/oUF_RaidDebuffs.toc
@@ -15,5 +15,9 @@
 ## X-Curse-Project-Name: SuperVillain UI: UnitFrames
 ## X-Curse-Project-ID: supervillain-ui-unitframes
 ## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline
+## X-Curse-Packaged-Version: r20150301045928
+## X-Curse-Project-Name: SuperVillain UI: UnitFrames
+## X-Curse-Project-ID: supervillain-ui-unitframes
+## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline

 oUF_RaidDebuffs.lua
diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_Reputation/oUF_Reputation.toc b/SVUI_UnitFrames/libs/Plugins/oUF_Reputation/oUF_Reputation.toc
index cdb34f7..01d1a6b 100644
--- a/SVUI_UnitFrames/libs/Plugins/oUF_Reputation/oUF_Reputation.toc
+++ b/SVUI_UnitFrames/libs/Plugins/oUF_Reputation/oUF_Reputation.toc
@@ -16,5 +16,9 @@
 ## X-Curse-Project-Name: SuperVillain UI: UnitFrames
 ## X-Curse-Project-ID: supervillain-ui-unitframes
 ## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline
+## X-Curse-Packaged-Version: r20150301045928
+## X-Curse-Project-Name: SuperVillain UI: UnitFrames
+## X-Curse-Project-ID: supervillain-ui-unitframes
+## X-Curse-Repository-ID: wow/supervillain-ui-unitframes/mainline

 oUF_Reputation.lua