Quantcast

Combined all of the AddTrainer() functions in the various trainer files into private:AddTrainer()

James D. Callahan III [04-02-11 - 09:59]
Combined all of the AddTrainer() functions in the various trainer files into private:AddTrainer()
Filename
Database/Trainers/Alchemy.lua
Database/Trainers/Blacksmithing.lua
Database/Trainers/Cooking.lua
Database/Trainers/Enchanting.lua
Database/Trainers/Engineering.lua
Database/Trainers/FirstAid.lua
Database/Trainers/Inscription.lua
Database/Trainers/Jewelcrafting.lua
Database/Trainers/Leatherworking.lua
Database/Trainers/Runeforging.lua
Database/Trainers/Smelting.lua
Database/Trainers/Tailoring.lua
Scanner.lua
Utilities.lua
diff --git a/Database/Trainers/Alchemy.lua b/Database/Trainers/Alchemy.lua
index 449bdec..5855d24 100644
--- a/Database/Trainers/Alchemy.lua
+++ b/Database/Trainers/Alchemy.lua
@@ -1,66 +1,48 @@
 -----------------------------------------------------------------------
--- Upvalued Lua API.
------------------------------------------------------------------------
-local _G = getfenv(0)
-
------------------------------------------------------------------------
 -- AddOn namespace.
 -----------------------------------------------------------------------
 local FOLDER_NAME, private = ...

-local LibStub = _G.LibStub
-local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local L = LibStub("AceLocale-3.0"):GetLocale(private.addon_name, true)
-
 -----------------------------------------------------------------------
 -- What we _really_ came here to see...
 -----------------------------------------------------------------------
 function private:InitializeAlchemyTrainers()
-	local function AddTrainer(id_num, trainer_name, location, coord_x, coord_y, faction)
-		if _G.type(trainer_name) == "number" then
-			local entry = private:AddListEntry(private.trainer_list, id_num, _G.GetSpellInfo(trainer_name), BZ[location], coord_x, coord_y, faction)
-			entry.spell_id = trainer_name
-		else
-			private:AddListEntry(private.trainer_list, id_num, L[trainer_name], BZ[location], coord_x, coord_y, faction)
-		end
-	end
-
-	AddTrainer(1215, "Alchemist Mallory", "Elwynn Forest", 39.8, 48.3, "Alliance")
-	AddTrainer(1246, "Vosur Brakthel", "Ironforge", 66.5, 55.2, "Alliance")
-	AddTrainer(1386, "Rogvar", "Swamp of Sorrows", 50.0, 56.2, "Horde") -- COMPLETELY UPDATED
-	AddTrainer(1470, "Ghak Healtouch", "Loch Modan", 37, 49.2, "Alliance")
-	AddTrainer(2132, "Carolai Anise", "Tirisfal Glades", 59.5, 52.2, "Horde")
-	AddTrainer(2391, "Serge Hinott", "Hillsbrad Foothills", 49.1, 66.4, "Horde") -- COMPLETELY UPDATED
-	AddTrainer(2837, "Jaxin Chong", "The Cape of Stranglethorn", 42.6, 74.8, "Neutral")
-	AddTrainer(3009, "Bena Winterhoof", "Thunder Bluff", 46.6, 33.2, "Horde") -- COMPLETELY UPDATED
-	AddTrainer(3184, "Miao'zan", "Durotar", 55.5, 74, "Horde")
-	AddTrainer(3347, "Yelmak", "Orgrimmar", 56.7, 33.2, "Horde")
-	AddTrainer(3603, "Cyndra Kindwhisper", "Teldrassil", 57.6, 60.7, "Alliance")
-	AddTrainer(3964, "Kylanna", "Ashenvale", 50.8, 67.1, "Alliance")
-	AddTrainer(4160, "Ainethil", "Darnassus", 53.9, 48.5, "Alliance") -- COMPLETELY UPDATED
-	AddTrainer(4611, "Doctor Herbert Halsey", "Undercity", 47.7, 73, "Horde")
-	AddTrainer(4900, "Alchemist Narett", "Dustwallow Marsh", 64, 47.7, "Alliance")
-	AddTrainer(5177, "Tally Berryfizz", "Ironforge", 66.6, 55.2, "Alliance")
-	AddTrainer(5499, "Lilyssia Nightbreeze", "Stormwind City", 55.6, 85.9, "Alliance")
-	AddTrainer(7948, "Kylanna Windwhisper", "Feralas", 32.6, 43.8, "Alliance")
-	AddTrainer(16161, "Arcanist Sheynathren", "Eversong Woods", 38.2, 72.5, "Horde")
-	AddTrainer(16588, "Apothecary Antonivich", "Hellfire Peninsula", 52.4, 36.5, "Horde")
-	AddTrainer(16642, "Camberon", "Silvermoon City", 66.1, 17.4, "Horde")
-	AddTrainer(16723, "Lucc", "The Exodar", 27.5, 60.9, "Alliance")
-	AddTrainer(17215, "Daedal", "Azuremyst Isle", 48.5, 51.5, "Alliance")
-	AddTrainer(18802, "Alchemist Gribble", "Hellfire Peninsula", 53.8, 65.8, "Alliance")
-	AddTrainer(19052, "Lorokeem", "Shattrath City", 45.4, 19.5, "Neutral")
-	AddTrainer(26903, "Lanolis Dewdrop", "Howling Fjord", 58.4, 62.3, "Alliance")
-	AddTrainer(26951, "Wilhelmina Renel", "Howling Fjord", 78.7, 28.5, "Horde")
-	AddTrainer(26975, "Arthur Henslowe", "Borean Tundra", 41.8, 54.3, "Horde")
-	AddTrainer(26987, "Falorn Nightwhisper", "Borean Tundra", 57.8, 71.9, "Alliance")
-	AddTrainer(27023, "Apothecary Bressa", "Dragonblight", 36.2, 48.7, "Horde")
-	AddTrainer(27029, "Apothecary Wormwick", "Dragonblight", 76.9, 62.2, "Horde")
-	AddTrainer(28703, "Linzy Blackbolt", "Dalaran", 42.5, 32.1, "Neutral")
-	AddTrainer(33588, "Crystal Brightspark", "Icecrown", 71.6, 21, "Neutral")
-	AddTrainer(33608, 51304, "Shattrath City", 44.3, 90.4, "Neutral")
-	AddTrainer(33630, "Aelthin", "Shattrath City", 38.6, 70.8, "Neutral")
-	AddTrainer(33674, "Alchemist Kanhu", "Shattrath City", 38.6, 30, "Neutral")
+	self:AddTrainer(1215, "Alchemist Mallory", "Elwynn Forest", 39.8, 48.3, "Alliance")
+	self:AddTrainer(1246, "Vosur Brakthel", "Ironforge", 66.5, 55.2, "Alliance")
+	self:AddTrainer(1386, "Rogvar", "Swamp of Sorrows", 50.0, 56.2, "Horde") -- COMPLETELY UPDATED
+	self:AddTrainer(1470, "Ghak Healtouch", "Loch Modan", 37, 49.2, "Alliance")
+	self:AddTrainer(2132, "Carolai Anise", "Tirisfal Glades", 59.5, 52.2, "Horde")
+	self:AddTrainer(2391, "Serge Hinott", "Hillsbrad Foothills", 49.1, 66.4, "Horde") -- COMPLETELY UPDATED
+	self:AddTrainer(2837, "Jaxin Chong", "The Cape of Stranglethorn", 42.6, 74.8, "Neutral")
+	self:AddTrainer(3009, "Bena Winterhoof", "Thunder Bluff", 46.6, 33.2, "Horde") -- COMPLETELY UPDATED
+	self:AddTrainer(3184, "Miao'zan", "Durotar", 55.5, 74, "Horde")
+	self:AddTrainer(3347, "Yelmak", "Orgrimmar", 56.7, 33.2, "Horde")
+	self:AddTrainer(3603, "Cyndra Kindwhisper", "Teldrassil", 57.6, 60.7, "Alliance")
+	self:AddTrainer(3964, "Kylanna", "Ashenvale", 50.8, 67.1, "Alliance")
+	self:AddTrainer(4160, "Ainethil", "Darnassus", 53.9, 48.5, "Alliance") -- COMPLETELY UPDATED
+	self:AddTrainer(4611, "Doctor Herbert Halsey", "Undercity", 47.7, 73, "Horde")
+	self:AddTrainer(4900, "Alchemist Narett", "Dustwallow Marsh", 64, 47.7, "Alliance")
+	self:AddTrainer(5177, "Tally Berryfizz", "Ironforge", 66.6, 55.2, "Alliance")
+	self:AddTrainer(5499, "Lilyssia Nightbreeze", "Stormwind City", 55.6, 85.9, "Alliance")
+	self:AddTrainer(7948, "Kylanna Windwhisper", "Feralas", 32.6, 43.8, "Alliance")
+	self:AddTrainer(16161, "Arcanist Sheynathren", "Eversong Woods", 38.2, 72.5, "Horde")
+	self:AddTrainer(16588, "Apothecary Antonivich", "Hellfire Peninsula", 52.4, 36.5, "Horde")
+	self:AddTrainer(16642, "Camberon", "Silvermoon City", 66.1, 17.4, "Horde")
+	self:AddTrainer(16723, "Lucc", "The Exodar", 27.5, 60.9, "Alliance")
+	self:AddTrainer(17215, "Daedal", "Azuremyst Isle", 48.5, 51.5, "Alliance")
+	self:AddTrainer(18802, "Alchemist Gribble", "Hellfire Peninsula", 53.8, 65.8, "Alliance")
+	self:AddTrainer(19052, "Lorokeem", "Shattrath City", 45.4, 19.5, "Neutral")
+	self:AddTrainer(26903, "Lanolis Dewdrop", "Howling Fjord", 58.4, 62.3, "Alliance")
+	self:AddTrainer(26951, "Wilhelmina Renel", "Howling Fjord", 78.7, 28.5, "Horde")
+	self:AddTrainer(26975, "Arthur Henslowe", "Borean Tundra", 41.8, 54.3, "Horde")
+	self:AddTrainer(26987, "Falorn Nightwhisper", "Borean Tundra", 57.8, 71.9, "Alliance")
+	self:AddTrainer(27023, "Apothecary Bressa", "Dragonblight", 36.2, 48.7, "Horde")
+	self:AddTrainer(27029, "Apothecary Wormwick", "Dragonblight", 76.9, 62.2, "Horde")
+	self:AddTrainer(28703, "Linzy Blackbolt", "Dalaran", 42.5, 32.1, "Neutral")
+	self:AddTrainer(33588, "Crystal Brightspark", "Icecrown", 71.6, 21, "Neutral")
+	self:AddTrainer(33608, 51304, "Shattrath City", 44.3, 90.4, "Neutral")
+	self:AddTrainer(33630, "Aelthin", "Shattrath City", 38.6, 70.8, "Neutral")
+	self:AddTrainer(33674, "Alchemist Kanhu", "Shattrath City", 38.6, 30, "Neutral")

 	self.InitializeAlchemyTrainers = nil
 end
diff --git a/Database/Trainers/Blacksmithing.lua b/Database/Trainers/Blacksmithing.lua
index 0dd80a6..a52ee24 100644
--- a/Database/Trainers/Blacksmithing.lua
+++ b/Database/Trainers/Blacksmithing.lua
@@ -1,75 +1,57 @@
 -----------------------------------------------------------------------
--- Upvalued Lua API.
------------------------------------------------------------------------
-local _G = getfenv(0)
-
------------------------------------------------------------------------
 -- AddOn namespace.
 -----------------------------------------------------------------------
 local FOLDER_NAME, private = ...

-local LibStub = _G.LibStub
-local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local L = LibStub("AceLocale-3.0"):GetLocale(private.addon_name, true)
-
 -----------------------------------------------------------------------
 -- What we _really_ came here to see...
 -----------------------------------------------------------------------
 function private:InitializeBlacksmithingTrainers()
-	local function AddTrainer(id_num, trainer_name, location, coord_x, coord_y, faction)
-		if _G.type(trainer_name) == "number" then
-			local entry = private:AddListEntry(private.trainer_list, id_num, _G.GetSpellInfo(trainer_name), BZ[location], coord_x, coord_y, faction)
-			entry.spell_id = trainer_name
-		else
-			private:AddListEntry(private.trainer_list, id_num, L[trainer_name], BZ[location], coord_x, coord_y, faction)
-		end
-	end
-
-	AddTrainer(514, "Smith Argus", "Elwynn Forest", 41.7, 65.6, "Alliance")
-	AddTrainer(1241, "Tognus Flintfire", "Dun Morogh", 45.3, 52, "Alliance")
-	AddTrainer(2836, "Brikk Keencraft", "The Cape of Stranglethorn", 44.1, 70.9, "Neutral")
-	AddTrainer(2998, "Karn Stonehoof", "Thunder Bluff", 39.4, 55.1, "Horde") -- COMPLETELY UPDATED
-	AddTrainer(3136, "Clarise Gnarltree", "Duskwood", 74, 48.5, "Alliance")
-	AddTrainer(3174, "Dwukk", "Durotar", 52, 40.7, "Horde")
-	AddTrainer(3355, "Saru Steelfury", "Orgrimmar", 76.5, 34.53, "Horde")
-	AddTrainer(3478, "Traugh", "Northern Barrens", 48.3, 56.2, "Horde")
-	AddTrainer(3557, "Guillaume Sorouy", "Silverpine Forest", 43.2, 41, "Horde")
-	AddTrainer(4258, "Bengus Deepforge", "Ironforge", 51, 43, "Alliance")
-	AddTrainer(4596, "James Van Brunt", "Undercity", 61.2, 29.9, "Horde")
-	AddTrainer(5164, "Grumnus Steelshaper", "Ironforge", 50.2, 42.8, "Alliance")
-	AddTrainer(5511, "Therum Deepforge", "Stormwind City", 63.9, 37.8, "Alliance")
-	AddTrainer(6299, "Delfrum Flintbeard", "Darkshore", 38.2, 41, "Alliance")
-	AddTrainer(7230, "Shayis Steelfury", "Orgrimmar", 75.91, 37.1, "Horde")
-	AddTrainer(7231, "Kelgruk Bloodaxe", "Orgrimmar", 76.34, 37.08, "Horde")
-	AddTrainer(11146, "Ironus Coldsteel", "Ironforge", 50.5, 43.3, "Alliance")
-	AddTrainer(11177, "Okothos Ironrager", "Orgrimmar", 75.35, 34.04, "Horde")
-	AddTrainer(11178, "Borgosh Corebender", "Orgrimmar", 75.89, 33.61, "Horde")
-	AddTrainer(15400, "Arathel Sunforge", "Eversong Woods", 59.6, 62.6, "Horde")
-	AddTrainer(16583, "Rohok", "Hellfire Peninsula", 53.2, 38.2, "Horde")
-	AddTrainer(16669, "Bemarrin", "Silvermoon City", 79.5, 39, "Horde")
-	AddTrainer(16724, "Miall", "The Exodar", 60, 89.6, "Alliance")
-	AddTrainer(16823, "Humphry", "Hellfire Peninsula", 56.8, 63.8, "Alliance")
-	AddTrainer(17245, "Blacksmith Calypso", "Azuremyst Isle", 46.4, 71.1, "Alliance")
-	AddTrainer(19341, "Grutah", "Shadowmoon Valley", 29.7, 31.5, "Horde")
-	AddTrainer(20124, "Kradu Grimblade", "Shattrath City", 69.2, 44.8, "Neutral")
-	AddTrainer(20125, "Zula Slagfury", "Shattrath City", 70.1, 42, "Neutral")
-	AddTrainer(26564, "Borus Ironbender", "Dragonblight", 36.6, 47.1, "Horde")
-	AddTrainer(26904, "Rosina Rivet", "Howling Fjord", 59.6, 63.7, "Alliance")
-	AddTrainer(26952, "Kristen Smythe", "Howling Fjord", 79.2, 29, "Horde")
-	AddTrainer(26981, "Crog Steelspine", "Borean Tundra", 40.8, 55.3, "Horde")
-	AddTrainer(26988, "Argo Strongstout", "Borean Tundra", 57.2, 66.6, "Alliance")
-	AddTrainer(27034, "Josric Fame", "Dragonblight", 75.9, 63.2, "Horde")
-	AddTrainer(28694, "Alard Schmied", "Dalaran", 45.5, 28.5, "Neutral")
-	AddTrainer(29505, "Imindril Spearsong", "Dalaran", 45.5, 28.6, "Neutral")
-	AddTrainer(29506, "Orland Schaeffer", "Dalaran", 45, 28.4, "Neutral")
-	AddTrainer(29924, "Brandig", "The Storm Peaks", 28.9, 74.9, "Alliance")
-	AddTrainer(33591, "Rekka the Hammer", "Icecrown", 71.9, 20.9, "Neutral")
-	AddTrainer(33609, 51300, "Shattrath City", 43.9, 90.5, "Neutral")
-	AddTrainer(33631, "Barien", "Shattrath City", 43.5, 65.1, "Neutral")
-	AddTrainer(33675, "Onodo", "Shattrath City", 37.7, 30.3, "Neutral")
-	AddTrainer(37072, "Rogg", "Orgrimmar", 44.5, 78, "Horde")
-	AddTrainer(44781, "Opuno Ironhorn", "Orgrimmar", 40.6, 49.4, "Horde")
-	AddTrainer(45548, "Kark Helmbreaker", "Orgrimmar", 36, 83, "Horde")
+	self:AddTrainer(514, "Smith Argus", "Elwynn Forest", 41.7, 65.6, "Alliance")
+	self:AddTrainer(1241, "Tognus Flintfire", "Dun Morogh", 45.3, 52, "Alliance")
+	self:AddTrainer(2836, "Brikk Keencraft", "The Cape of Stranglethorn", 44.1, 70.9, "Neutral")
+	self:AddTrainer(2998, "Karn Stonehoof", "Thunder Bluff", 39.4, 55.1, "Horde") -- COMPLETELY UPDATED
+	self:AddTrainer(3136, "Clarise Gnarltree", "Duskwood", 74, 48.5, "Alliance")
+	self:AddTrainer(3174, "Dwukk", "Durotar", 52, 40.7, "Horde")
+	self:AddTrainer(3355, "Saru Steelfury", "Orgrimmar", 76.5, 34.53, "Horde")
+	self:AddTrainer(3478, "Traugh", "Northern Barrens", 48.3, 56.2, "Horde")
+	self:AddTrainer(3557, "Guillaume Sorouy", "Silverpine Forest", 43.2, 41, "Horde")
+	self:AddTrainer(4258, "Bengus Deepforge", "Ironforge", 51, 43, "Alliance")
+	self:AddTrainer(4596, "James Van Brunt", "Undercity", 61.2, 29.9, "Horde")
+	self:AddTrainer(5164, "Grumnus Steelshaper", "Ironforge", 50.2, 42.8, "Alliance")
+	self:AddTrainer(5511, "Therum Deepforge", "Stormwind City", 63.9, 37.8, "Alliance")
+	self:AddTrainer(6299, "Delfrum Flintbeard", "Darkshore", 38.2, 41, "Alliance")
+	self:AddTrainer(7230, "Shayis Steelfury", "Orgrimmar", 75.91, 37.1, "Horde")
+	self:AddTrainer(7231, "Kelgruk Bloodaxe", "Orgrimmar", 76.34, 37.08, "Horde")
+	self:AddTrainer(11146, "Ironus Coldsteel", "Ironforge", 50.5, 43.3, "Alliance")
+	self:AddTrainer(11177, "Okothos Ironrager", "Orgrimmar", 75.35, 34.04, "Horde")
+	self:AddTrainer(11178, "Borgosh Corebender", "Orgrimmar", 75.89, 33.61, "Horde")
+	self:AddTrainer(15400, "Arathel Sunforge", "Eversong Woods", 59.6, 62.6, "Horde")
+	self:AddTrainer(16583, "Rohok", "Hellfire Peninsula", 53.2, 38.2, "Horde")
+	self:AddTrainer(16669, "Bemarrin", "Silvermoon City", 79.5, 39, "Horde")
+	self:AddTrainer(16724, "Miall", "The Exodar", 60, 89.6, "Alliance")
+	self:AddTrainer(16823, "Humphry", "Hellfire Peninsula", 56.8, 63.8, "Alliance")
+	self:AddTrainer(17245, "Blacksmith Calypso", "Azuremyst Isle", 46.4, 71.1, "Alliance")
+	self:AddTrainer(19341, "Grutah", "Shadowmoon Valley", 29.7, 31.5, "Horde")
+	self:AddTrainer(20124, "Kradu Grimblade", "Shattrath City", 69.2, 44.8, "Neutral")
+	self:AddTrainer(20125, "Zula Slagfury", "Shattrath City", 70.1, 42, "Neutral")
+	self:AddTrainer(26564, "Borus Ironbender", "Dragonblight", 36.6, 47.1, "Horde")
+	self:AddTrainer(26904, "Rosina Rivet", "Howling Fjord", 59.6, 63.7, "Alliance")
+	self:AddTrainer(26952, "Kristen Smythe", "Howling Fjord", 79.2, 29, "Horde")
+	self:AddTrainer(26981, "Crog Steelspine", "Borean Tundra", 40.8, 55.3, "Horde")
+	self:AddTrainer(26988, "Argo Strongstout", "Borean Tundra", 57.2, 66.6, "Alliance")
+	self:AddTrainer(27034, "Josric Fame", "Dragonblight", 75.9, 63.2, "Horde")
+	self:AddTrainer(28694, "Alard Schmied", "Dalaran", 45.5, 28.5, "Neutral")
+	self:AddTrainer(29505, "Imindril Spearsong", "Dalaran", 45.5, 28.6, "Neutral")
+	self:AddTrainer(29506, "Orland Schaeffer", "Dalaran", 45, 28.4, "Neutral")
+	self:AddTrainer(29924, "Brandig", "The Storm Peaks", 28.9, 74.9, "Alliance")
+	self:AddTrainer(33591, "Rekka the Hammer", "Icecrown", 71.9, 20.9, "Neutral")
+	self:AddTrainer(33609, 51300, "Shattrath City", 43.9, 90.5, "Neutral")
+	self:AddTrainer(33631, "Barien", "Shattrath City", 43.5, 65.1, "Neutral")
+	self:AddTrainer(33675, "Onodo", "Shattrath City", 37.7, 30.3, "Neutral")
+	self:AddTrainer(37072, "Rogg", "Orgrimmar", 44.5, 78, "Horde")
+	self:AddTrainer(44781, "Opuno Ironhorn", "Orgrimmar", 40.6, 49.4, "Horde")
+	self:AddTrainer(45548, "Kark Helmbreaker", "Orgrimmar", 36, 83, "Horde")

 	self.InitializeBlacksmithingTrainers = nil
 end
diff --git a/Database/Trainers/Cooking.lua b/Database/Trainers/Cooking.lua
index 93e09f3..62b6742 100644
--- a/Database/Trainers/Cooking.lua
+++ b/Database/Trainers/Cooking.lua
@@ -1,68 +1,50 @@
 -----------------------------------------------------------------------
--- Upvalued Lua API.
------------------------------------------------------------------------
-local _G = getfenv(0)
-
------------------------------------------------------------------------
 -- AddOn namespace.
 -----------------------------------------------------------------------
 local FOLDER_NAME, private = ...

-local LibStub = _G.LibStub
-local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local L = LibStub("AceLocale-3.0"):GetLocale(private.addon_name, true)
-
 -----------------------------------------------------------------------
 -- What we _really_ came here to see...
 -----------------------------------------------------------------------
 function private:InitializeCookingTrainers()
-	local function AddTrainer(id_num, trainer_name, location, coord_x, coord_y, faction)
-		if _G.type(trainer_name) == "number" then
-			local entry = private:AddListEntry(private.trainer_list, id_num, _G.GetSpellInfo(trainer_name), BZ[location], coord_x, coord_y, faction)
-			entry.spell_id = trainer_name
-		else
-			private:AddListEntry(private.trainer_list, id_num, L[trainer_name], BZ[location], coord_x, coord_y, faction)
-		end
-	end
-
-	AddTrainer(1355, "Cook Ghilm", "Dun Morogh", 68.4, 54.5, "Alliance")
-	AddTrainer(1382, "Mudduk", "Northern Stranglethorn", 37.2, 49.2, "Horde")
-	AddTrainer(1430, "Tomas", "Elwynn Forest", 44.3, 66, "Alliance")
-	AddTrainer(1699, "Gremlock Pilsnor", "Dun Morogh", 47.6, 52.3, "Alliance")
-	AddTrainer(2818, "Slagg", "Arathi Highlands", 74.1, 33.8, "Horde")
-	AddTrainer(3026, "Aska Mistrunner", "Thunder Bluff", 50.7, 53.1, "Horde") -- COMPLETELY UPDATED
-	AddTrainer(3067, "Pyall Silentstride", "Mulgore", 45.5, 58.1, "Horde")
-	AddTrainer(3087, "Crystal Boughman", "Redridge Mountains", 22.8, 43.6, "Alliance")
-	AddTrainer(3399, "Zamja", "Orgrimmar", 57.5, 53.7, "Horde")
-	AddTrainer(4210, "Alegorn", "Darnassus", 49.9, 36.6, "Alliance") -- COMPLETELY UPDATED
-	AddTrainer(4552, "Eunice Burch", "Undercity", 62.3, 44.6, "Horde")
-	AddTrainer(5159, "Daryl Riknussun", "Ironforge", 60.1, 36.8, "Alliance")
-	AddTrainer(5482, "Stephen Ryback", "Stormwind City", 77.2, 53.2, "Alliance") -- UPDATED
-	AddTrainer(6286, "Zarrin", "Teldrassil", 57.1, 61.3, "Alliance")
-	AddTrainer(8306, "Duhng", "Northern Barrens", 55.4, 61.3, "Horde")
-	AddTrainer(16253, "Master Chef Mouldier", "Ghostlands", 48.3, 30.9, "Horde")
-	AddTrainer(16277, "Quarelestra", "Eversong Woods", 48.6, 47.1, "Horde")
-	AddTrainer(16676, "Sylann", "Silvermoon City", 69.5, 71.5, "Horde")
-	AddTrainer(16719, "Mumman", "The Exodar", 55.6, 27.1, "Alliance")
-	AddTrainer(17246, "\"Cookie\" McWeaksauce", "Azuremyst Isle", 46.7 , 70.5, "Alliance" )
-	AddTrainer(18987, "Gaston", "Hellfire Peninsula", 54.1, 63.5, "Alliance")
-	AddTrainer(18988, "Baxter", "Hellfire Peninsula", 56.8, 37.5, "Horde")
-	AddTrainer(18993, "Naka", "Zangarmarsh", 78.5, 63, "Neutral")
-	AddTrainer(19185, "Jack Trapper", "Shattrath City", 63, 68.5, "Neutral")
-	AddTrainer(19186, "Kylene", "Shattrath City", 76.5, 33, "Neutral")
-	AddTrainer(19369, "Celie Steelwing", "Shadowmoon Valley", 37.2, 58.5, "Alliance")
-	AddTrainer(26905, "Brom Brewbaster", "Howling Fjord", 58.2, 62.1, "Alliance")
-	AddTrainer(26953, "Thomas Kolichio", "Howling Fjord", 78.6, 29.4, "Horde")
-	AddTrainer(26972, "Orn Tenderhoof", "Borean Tundra", 42, 54.2, "Horde")
-	AddTrainer(26989, "Rollick MacKreel", "Borean Tundra", 57.9, 71.5, "Alliance")
-	AddTrainer(28705, "Katherine Lee", "Dalaran", 40.8, 65.2, "Alliance")
-	AddTrainer(29631, "Awilo Lon'gomba", "Dalaran", 70, 38.6, "Horde")
-	AddTrainer(33587, "Bethany Cromwell", "Icecrown", 72.4, 20.8, "Neutral")
-	AddTrainer(33619, 51296, "Shattrath City", 43.6, 91.1, "Neutral")
-	AddTrainer(45550, "Zarbo Porkpatty", "Orgrimmar", 39, 85.8, "Neutral")
-	AddTrainer(46709, "Arugi", "Orgrimmar", 56.5, 61.5, "Horde")
-	AddTrainer(47405, "The Chef", "Tirisfal Glades", 61.2, 52.6, "Horde")
-	AddTrainer(49789, "Allison", "Hellfire Peninsula", 56.8, 37.4, "Horde")
+	self:AddTrainer(1355, "Cook Ghilm", "Dun Morogh", 68.4, 54.5, "Alliance")
+	self:AddTrainer(1382, "Mudduk", "Northern Stranglethorn", 37.2, 49.2, "Horde")
+	self:AddTrainer(1430, "Tomas", "Elwynn Forest", 44.3, 66, "Alliance")
+	self:AddTrainer(1699, "Gremlock Pilsnor", "Dun Morogh", 47.6, 52.3, "Alliance")
+	self:AddTrainer(2818, "Slagg", "Arathi Highlands", 74.1, 33.8, "Horde")
+	self:AddTrainer(3026, "Aska Mistrunner", "Thunder Bluff", 50.7, 53.1, "Horde") -- COMPLETELY UPDATED
+	self:AddTrainer(3067, "Pyall Silentstride", "Mulgore", 45.5, 58.1, "Horde")
+	self:AddTrainer(3087, "Crystal Boughman", "Redridge Mountains", 22.8, 43.6, "Alliance")
+	self:AddTrainer(3399, "Zamja", "Orgrimmar", 57.5, 53.7, "Horde")
+	self:AddTrainer(4210, "Alegorn", "Darnassus", 49.9, 36.6, "Alliance") -- COMPLETELY UPDATED
+	self:AddTrainer(4552, "Eunice Burch", "Undercity", 62.3, 44.6, "Horde")
+	self:AddTrainer(5159, "Daryl Riknussun", "Ironforge", 60.1, 36.8, "Alliance")
+	self:AddTrainer(5482, "Stephen Ryback", "Stormwind City", 77.2, 53.2, "Alliance") -- UPDATED
+	self:AddTrainer(6286, "Zarrin", "Teldrassil", 57.1, 61.3, "Alliance")
+	self:AddTrainer(8306, "Duhng", "Northern Barrens", 55.4, 61.3, "Horde")
+	self:AddTrainer(16253, "Master Chef Mouldier", "Ghostlands", 48.3, 30.9, "Horde")
+	self:AddTrainer(16277, "Quarelestra", "Eversong Woods", 48.6, 47.1, "Horde")
+	self:AddTrainer(16676, "Sylann", "Silvermoon City", 69.5, 71.5, "Horde")
+	self:AddTrainer(16719, "Mumman", "The Exodar", 55.6, 27.1, "Alliance")
+	self:AddTrainer(17246, "\"Cookie\" McWeaksauce", "Azuremyst Isle", 46.7 , 70.5, "Alliance" )
+	self:AddTrainer(18987, "Gaston", "Hellfire Peninsula", 54.1, 63.5, "Alliance")
+	self:AddTrainer(18988, "Baxter", "Hellfire Peninsula", 56.8, 37.5, "Horde")
+	self:AddTrainer(18993, "Naka", "Zangarmarsh", 78.5, 63, "Neutral")
+	self:AddTrainer(19185, "Jack Trapper", "Shattrath City", 63, 68.5, "Neutral")
+	self:AddTrainer(19186, "Kylene", "Shattrath City", 76.5, 33, "Neutral")
+	self:AddTrainer(19369, "Celie Steelwing", "Shadowmoon Valley", 37.2, 58.5, "Alliance")
+	self:AddTrainer(26905, "Brom Brewbaster", "Howling Fjord", 58.2, 62.1, "Alliance")
+	self:AddTrainer(26953, "Thomas Kolichio", "Howling Fjord", 78.6, 29.4, "Horde")
+	self:AddTrainer(26972, "Orn Tenderhoof", "Borean Tundra", 42, 54.2, "Horde")
+	self:AddTrainer(26989, "Rollick MacKreel", "Borean Tundra", 57.9, 71.5, "Alliance")
+	self:AddTrainer(28705, "Katherine Lee", "Dalaran", 40.8, 65.2, "Alliance")
+	self:AddTrainer(29631, "Awilo Lon'gomba", "Dalaran", 70, 38.6, "Horde")
+	self:AddTrainer(33587, "Bethany Cromwell", "Icecrown", 72.4, 20.8, "Neutral")
+	self:AddTrainer(33619, 51296, "Shattrath City", 43.6, 91.1, "Neutral")
+	self:AddTrainer(45550, "Zarbo Porkpatty", "Orgrimmar", 39, 85.8, "Neutral")
+	self:AddTrainer(46709, "Arugi", "Orgrimmar", 56.5, 61.5, "Horde")
+	self:AddTrainer(47405, "The Chef", "Tirisfal Glades", 61.2, 52.6, "Horde")
+	self:AddTrainer(49789, "Allison", "Hellfire Peninsula", 56.8, 37.4, "Horde")

 	self.InitializeCookingTrainers = nil
 end
diff --git a/Database/Trainers/Enchanting.lua b/Database/Trainers/Enchanting.lua
index bb3c93a..3581724 100644
--- a/Database/Trainers/Enchanting.lua
+++ b/Database/Trainers/Enchanting.lua
@@ -1,59 +1,41 @@
 -----------------------------------------------------------------------
--- Upvalued Lua API.
------------------------------------------------------------------------
-local _G = getfenv(0)
-
------------------------------------------------------------------------
 -- AddOn namespace.
 -----------------------------------------------------------------------
 local FOLDER_NAME, private = ...

-local LibStub = _G.LibStub
-local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local L = LibStub("AceLocale-3.0"):GetLocale(private.addon_name, true)
-
 -----------------------------------------------------------------------
 -- What we _really_ came here to see...
 -----------------------------------------------------------------------
 function private:InitializeEnchantingTrainers()
-	local function AddTrainer(id_num, trainer_name, location, coord_x, coord_y, faction)
-		if _G.type(trainer_name) == "number" then
-			local entry = private:AddListEntry(private.trainer_list, id_num, _G.GetSpellInfo(trainer_name), BZ[location], coord_x, coord_y, faction)
-			entry.spell_id = trainer_name
-		else
-			private:AddListEntry(private.trainer_list, id_num, L[trainer_name], BZ[location], coord_x, coord_y, faction)
-		end
-	end
-
-	AddTrainer(1317, "Lucan Cordell", "Stormwind City", 53, 74.3, "Alliance")
-	AddTrainer(3011, "Teg Dawnstrider", "Thunder Bluff", 45.3, 38.4, "Horde") -- COMPLETELY UPDATED
-	AddTrainer(3345, "Godan", "Orgrimmar", 53.8, 38.5, "Horde")
-	AddTrainer(3606, "Alanna Raveneye", "Teldrassil", 36.8, 34.2, "Alliance")
-	AddTrainer(4213, "Taladan", "Darnassus", 56.4, 31.0, "Alliance") -- COMPLETELY UPDATED
-	AddTrainer(4616, "Lavinia Crowe", "Undercity", 62.1, 60.5, "Horde")
-	AddTrainer(5157, "Gimble Thistlefuzz", "Ironforge", 60, 45.4, "Alliance")
-	AddTrainer(5695, "Vance Undergloom", "Tirisfal Glades", 61.7, 51.6, "Horde")
-	AddTrainer(7949, "Xylinnia Starshine", "Feralas", 31.6, 44.3, "Alliance")
-	AddTrainer(11072, "Kitta Firewind", "Elwynn Forest", 64.9, 70.6, "Alliance")
-	AddTrainer(11073, "Annora", "Uldaman", 0, 0, "Neutral")
-	AddTrainer(11074, "Hgarth", "Stonetalon Mountains", 49.2, 57.2, "Horde")
-	AddTrainer(16160, "Magistrix Eredania", "Eversong Woods", 38.2, 72.6, "Horde")
-	AddTrainer(16633, "Sedana", "Silvermoon City", 70, 24, "Horde")
-	AddTrainer(16725, "Nahogg", "The Exodar", 40.5, 39.2, "Alliance")
-	AddTrainer(18753, "Felannia", "Hellfire Peninsula", 52.3, 36.1, "Horde")
-	AddTrainer(18773, "Johan Barnes", "Hellfire Peninsula", 53.7, 66.1, "Alliance")
-	AddTrainer(19251, "Enchantress Volali", "Shattrath City", 43.2, 92.3, "Neutral")
-	AddTrainer(19252, "High Enchanter Bardolan", "Shattrath City", 43.2, 92.2, "Neutral")
-	AddTrainer(19540, "Asarnan", "Netherstorm", 44.2, 33.7, "Neutral")
-	AddTrainer(26906, "Elizabeth Jackson", "Howling Fjord", 58.6, 62.8, "Alliance")
-	AddTrainer(26954, "Emil Autumn", "Howling Fjord", 78.7, 28.3, "Horde")
-	AddTrainer(26980, "Eorain Dawnstrike", "Borean Tundra", 41.2, 53.9, "Horde")
-	AddTrainer(26990, "Alexis Marlowe", "Borean Tundra", 57.6, 71.6, "Alliance")
-	AddTrainer(28693, "Enchanter Nalthanis", "Dalaran", 39.1, 40.5, "Neutral")
-	AddTrainer(33583, "Fael Morningsong", "Icecrown", 73, 20.6, "Neutral")
-	AddTrainer(33610, 51313, "Shattrath City", 43.6, 90.4, "Neutral")
-	AddTrainer(33633, "Enchantress Andiala", "Shattrath City", 55.6, 74.6, "Neutral")
-	AddTrainer(33676, "Zurii", "Shattrath City", 36.4, 44.6, "Neutral")
+	self:AddTrainer(1317, "Lucan Cordell", "Stormwind City", 53, 74.3, "Alliance")
+	self:AddTrainer(3011, "Teg Dawnstrider", "Thunder Bluff", 45.3, 38.4, "Horde") -- COMPLETELY UPDATED
+	self:AddTrainer(3345, "Godan", "Orgrimmar", 53.8, 38.5, "Horde")
+	self:AddTrainer(3606, "Alanna Raveneye", "Teldrassil", 36.8, 34.2, "Alliance")
+	self:AddTrainer(4213, "Taladan", "Darnassus", 56.4, 31.0, "Alliance") -- COMPLETELY UPDATED
+	self:AddTrainer(4616, "Lavinia Crowe", "Undercity", 62.1, 60.5, "Horde")
+	self:AddTrainer(5157, "Gimble Thistlefuzz", "Ironforge", 60, 45.4, "Alliance")
+	self:AddTrainer(5695, "Vance Undergloom", "Tirisfal Glades", 61.7, 51.6, "Horde")
+	self:AddTrainer(7949, "Xylinnia Starshine", "Feralas", 31.6, 44.3, "Alliance")
+	self:AddTrainer(11072, "Kitta Firewind", "Elwynn Forest", 64.9, 70.6, "Alliance")
+	self:AddTrainer(11073, "Annora", "Uldaman", 0, 0, "Neutral")
+	self:AddTrainer(11074, "Hgarth", "Stonetalon Mountains", 49.2, 57.2, "Horde")
+	self:AddTrainer(16160, "Magistrix Eredania", "Eversong Woods", 38.2, 72.6, "Horde")
+	self:AddTrainer(16633, "Sedana", "Silvermoon City", 70, 24, "Horde")
+	self:AddTrainer(16725, "Nahogg", "The Exodar", 40.5, 39.2, "Alliance")
+	self:AddTrainer(18753, "Felannia", "Hellfire Peninsula", 52.3, 36.1, "Horde")
+	self:AddTrainer(18773, "Johan Barnes", "Hellfire Peninsula", 53.7, 66.1, "Alliance")
+	self:AddTrainer(19251, "Enchantress Volali", "Shattrath City", 43.2, 92.3, "Neutral")
+	self:AddTrainer(19252, "High Enchanter Bardolan", "Shattrath City", 43.2, 92.2, "Neutral")
+	self:AddTrainer(19540, "Asarnan", "Netherstorm", 44.2, 33.7, "Neutral")
+	self:AddTrainer(26906, "Elizabeth Jackson", "Howling Fjord", 58.6, 62.8, "Alliance")
+	self:AddTrainer(26954, "Emil Autumn", "Howling Fjord", 78.7, 28.3, "Horde")
+	self:AddTrainer(26980, "Eorain Dawnstrike", "Borean Tundra", 41.2, 53.9, "Horde")
+	self:AddTrainer(26990, "Alexis Marlowe", "Borean Tundra", 57.6, 71.6, "Alliance")
+	self:AddTrainer(28693, "Enchanter Nalthanis", "Dalaran", 39.1, 40.5, "Neutral")
+	self:AddTrainer(33583, "Fael Morningsong", "Icecrown", 73, 20.6, "Neutral")
+	self:AddTrainer(33610, 51313, "Shattrath City", 43.6, 90.4, "Neutral")
+	self:AddTrainer(33633, "Enchantress Andiala", "Shattrath City", 55.6, 74.6, "Neutral")
+	self:AddTrainer(33676, "Zurii", "Shattrath City", 36.4, 44.6, "Neutral")

 	self.InitializeEnchantingTrainers = nil
 end
diff --git a/Database/Trainers/Engineering.lua b/Database/Trainers/Engineering.lua
index bc48544..e32ba72 100644
--- a/Database/Trainers/Engineering.lua
+++ b/Database/Trainers/Engineering.lua
@@ -1,69 +1,51 @@
 -----------------------------------------------------------------------
--- Upvalued Lua API.
------------------------------------------------------------------------
-local _G = getfenv(0)
-
------------------------------------------------------------------------
 -- AddOn namespace.
 -----------------------------------------------------------------------
 local FOLDER_NAME, private = ...

-local LibStub = _G.LibStub
-local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local L = LibStub("AceLocale-3.0"):GetLocale(private.addon_name, true)
-
 -----------------------------------------------------------------------
 -- What we _really_ came here to see...
 -----------------------------------------------------------------------
 function private:InitializeEngineeringTrainers()
-	local function AddTrainer(id_num, trainer_name, location, coord_x, coord_y, faction)
-		if _G.type(trainer_name) == "number" then
-			local entry = private:AddListEntry(private.trainer_list, id_num, _G.GetSpellInfo(trainer_name), BZ[location], coord_x, coord_y, faction)
-			entry.spell_id = trainer_name
-		else
-			private:AddListEntry(private.trainer_list, id_num, L[trainer_name], BZ[location], coord_x, coord_y, faction)
-		end
-	end
-
-	AddTrainer(1676, "Finbus Geargrind", "Duskwood", 77.4, 48.6, "Alliance")
-	AddTrainer(1702, "Bronk Guzzlegear", "Dun Morogh", 50.2, 50.4, "Alliance")
-	AddTrainer(3290, "Deek Fizzlebizz", "Loch Modan", 45.9, 13.6, "Alliance")
-	AddTrainer(3494, "Tinkerwiz", "Northern Barrens", 68.5, 69.2, "Neutral")
-	AddTrainer(5174, "Springspindle Fizzlegear", "Ironforge", 68.4, 44, "Alliance")
-	AddTrainer(5518, "Lilliam Sparkspindle", "Stormwind City", 62.2, 30.5, "Alliance")
-	AddTrainer(7406, "Oglethorpe Obnoticus", "The Cape of Stranglethorn", 43, 72.1, "Neutral")
-	AddTrainer(7944, "Tinkmaster Overspark", "Ironforge", 69.8, 50, "Alliance")
-	AddTrainer(8126, "Nixx Sprocketspring", "Tanaris", 52.4, 28.3, "Neutral") -- ???????????????????
-	AddTrainer(8736, "Buzzek Bracketswing", "Tanaris", 51.7, 30.4, "Neutral") -- COMPLETELY UPDATED
-	AddTrainer(8738, "Vazario Linkgrease", "Northern Barrens", 68.5, 69.2, "Neutral")
-	AddTrainer(11017, "Roxxik", "Orgrimmar", 56.85, 56.54, "Horde")
-	AddTrainer(11025, "Mukdrak", "Durotar", 52.2, 40.8, "Horde")
-	AddTrainer(11031, "Franklin Lloyd", "Undercity", 75.9, 73.7, "Horde")
-	AddTrainer(11037, "Jenna Lemkenilli", "Darkshore", 38.3, 41.1, "Alliance")
-	AddTrainer(14742, "Zap Farflinger", "Winterspring", 61.2, 37.6, "Neutral")
-	AddTrainer(14743, "Jhordy Lapforge", "Tanaris", 52.2, 27.9, "Neutral") -- COMPLETELY UPDATED
-	AddTrainer(16667, "Danwe", "Silvermoon City", 76.5, 40.9, "Horde")
-	AddTrainer(16726, "Ockil", "The Exodar", 54, 92.1, "Alliance")
-	AddTrainer(17222, "Artificer Daelo", "Azuremyst Isle", 48, 51, "Alliance")
-	AddTrainer(17634, "K. Lee Smallfry", "Zangarmarsh", 68.6, 50.2, "Alliance")
-	AddTrainer(17637, "Mack Diver", "Zangarmarsh", 33.9, 51, "Horde")
-	AddTrainer(18752, "Zebig", "Hellfire Peninsula", 54.8, 38.5, "Horde")
-	AddTrainer(18775, "Lebowski", "Hellfire Peninsula", 55.7, 65.5, "Alliance")
-	AddTrainer(19576, "Xyrol", "Netherstorm", 32.5, 66.7, "Neutral")
-	AddTrainer(21493, "Kablamm Farflinger", "Netherstorm", 32.9, 63.7, "Neutral")
-	AddTrainer(21494, "Smiles O'Byron", "Blade's Edge Mountains", 60.3, 65.2, "Neutral")
-	AddTrainer(24868, "Niobe Whizzlespark", "Shadowmoon Valley", 36.7, 54.8, "Alliance")
-	AddTrainer(25099, "Jonathan Garrett", "Shadowmoon Valley", 29.2, 28.5, "Horde")
-	AddTrainer(25277, "Chief Engineer Leveny", "Borean Tundra", 42.6, 53.7, "Horde")
-	AddTrainer(26907, "Tisha Longbridge", "Howling Fjord", 59.7, 64, "Alliance")
-	AddTrainer(26955, "Jamesina Watterly", "Howling Fjord", 78.5, 30, "Horde")
-	AddTrainer(26991, "Sock Brightbolt", "Borean Tundra", 57.7, 72.2, "Alliance")
-	AddTrainer(28697, "Timofey Oshenko", "Dalaran", 39, 27.5, "Neutral")
-	AddTrainer(29513, "Didi the Wrench", "Dalaran", 39.5, 25.5, "Neutral")
-	AddTrainer(29514, "Findle Whistlesteam", "Dalaran", 39.5, 25.2, "Neutral")
-	AddTrainer(33586, "Binkie Brightgear", "Icecrown", 72.1, 20.9, "Neutral")
-	AddTrainer(33611, 51306, "Shattrath City", 43.7, 90.1, "Neutral")
-	AddTrainer(33634, "Engineer Sinbei", "Shattrath City", 43.1, 64.9, "Neutral")
+	self:AddTrainer(1676, "Finbus Geargrind", "Duskwood", 77.4, 48.6, "Alliance")
+	self:AddTrainer(1702, "Bronk Guzzlegear", "Dun Morogh", 50.2, 50.4, "Alliance")
+	self:AddTrainer(3290, "Deek Fizzlebizz", "Loch Modan", 45.9, 13.6, "Alliance")
+	self:AddTrainer(3494, "Tinkerwiz", "Northern Barrens", 68.5, 69.2, "Neutral")
+	self:AddTrainer(5174, "Springspindle Fizzlegear", "Ironforge", 68.4, 44, "Alliance")
+	self:AddTrainer(5518, "Lilliam Sparkspindle", "Stormwind City", 62.2, 30.5, "Alliance")
+	self:AddTrainer(7406, "Oglethorpe Obnoticus", "The Cape of Stranglethorn", 43, 72.1, "Neutral")
+	self:AddTrainer(7944, "Tinkmaster Overspark", "Ironforge", 69.8, 50, "Alliance")
+	self:AddTrainer(8126, "Nixx Sprocketspring", "Tanaris", 52.4, 28.3, "Neutral") -- ???????????????????
+	self:AddTrainer(8736, "Buzzek Bracketswing", "Tanaris", 51.7, 30.4, "Neutral") -- COMPLETELY UPDATED
+	self:AddTrainer(8738, "Vazario Linkgrease", "Northern Barrens", 68.5, 69.2, "Neutral")
+	self:AddTrainer(11017, "Roxxik", "Orgrimmar", 56.85, 56.54, "Horde")
+	self:AddTrainer(11025, "Mukdrak", "Durotar", 52.2, 40.8, "Horde")
+	self:AddTrainer(11031, "Franklin Lloyd", "Undercity", 75.9, 73.7, "Horde")
+	self:AddTrainer(11037, "Jenna Lemkenilli", "Darkshore", 38.3, 41.1, "Alliance")
+	self:AddTrainer(14742, "Zap Farflinger", "Winterspring", 61.2, 37.6, "Neutral")
+	self:AddTrainer(14743, "Jhordy Lapforge", "Tanaris", 52.2, 27.9, "Neutral") -- COMPLETELY UPDATED
+	self:AddTrainer(16667, "Danwe", "Silvermoon City", 76.5, 40.9, "Horde")
+	self:AddTrainer(16726, "Ockil", "The Exodar", 54, 92.1, "Alliance")
+	self:AddTrainer(17222, "Artificer Daelo", "Azuremyst Isle", 48, 51, "Alliance")
+	self:AddTrainer(17634, "K. Lee Smallfry", "Zangarmarsh", 68.6, 50.2, "Alliance")
+	self:AddTrainer(17637, "Mack Diver", "Zangarmarsh", 33.9, 51, "Horde")
+	self:AddTrainer(18752, "Zebig", "Hellfire Peninsula", 54.8, 38.5, "Horde")
+	self:AddTrainer(18775, "Lebowski", "Hellfire Peninsula", 55.7, 65.5, "Alliance")
+	self:AddTrainer(19576, "Xyrol", "Netherstorm", 32.5, 66.7, "Neutral")
+	self:AddTrainer(21493, "Kablamm Farflinger", "Netherstorm", 32.9, 63.7, "Neutral")
+	self:AddTrainer(21494, "Smiles O'Byron", "Blade's Edge Mountains", 60.3, 65.2, "Neutral")
+	self:AddTrainer(24868, "Niobe Whizzlespark", "Shadowmoon Valley", 36.7, 54.8, "Alliance")
+	self:AddTrainer(25099, "Jonathan Garrett", "Shadowmoon Valley", 29.2, 28.5, "Horde")
+	self:AddTrainer(25277, "Chief Engineer Leveny", "Borean Tundra", 42.6, 53.7, "Horde")
+	self:AddTrainer(26907, "Tisha Longbridge", "Howling Fjord", 59.7, 64, "Alliance")
+	self:AddTrainer(26955, "Jamesina Watterly", "Howling Fjord", 78.5, 30, "Horde")
+	self:AddTrainer(26991, "Sock Brightbolt", "Borean Tundra", 57.7, 72.2, "Alliance")
+	self:AddTrainer(28697, "Timofey Oshenko", "Dalaran", 39, 27.5, "Neutral")
+	self:AddTrainer(29513, "Didi the Wrench", "Dalaran", 39.5, 25.5, "Neutral")
+	self:AddTrainer(29514, "Findle Whistlesteam", "Dalaran", 39.5, 25.2, "Neutral")
+	self:AddTrainer(33586, "Binkie Brightgear", "Icecrown", 72.1, 20.9, "Neutral")
+	self:AddTrainer(33611, 51306, "Shattrath City", 43.7, 90.1, "Neutral")
+	self:AddTrainer(33634, "Engineer Sinbei", "Shattrath City", 43.1, 64.9, "Neutral")

 	self.InitializeEngineeringTrainers = nil
 end
diff --git a/Database/Trainers/FirstAid.lua b/Database/Trainers/FirstAid.lua
index b7dc251..b7f7b2c 100644
--- a/Database/Trainers/FirstAid.lua
+++ b/Database/Trainers/FirstAid.lua
@@ -1,62 +1,44 @@
 -----------------------------------------------------------------------
--- Upvalued Lua API.
------------------------------------------------------------------------
-local _G = getfenv(0)
-
------------------------------------------------------------------------
 -- AddOn namespace.
 -----------------------------------------------------------------------
 local FOLDER_NAME, private = ...

-local LibStub = _G.LibStub
-local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local L = LibStub("AceLocale-3.0"):GetLocale(private.addon_name, true)
-
 -----------------------------------------------------------------------
 -- What we _really_ came here to see...
 -----------------------------------------------------------------------
 function private:InitializeFirstAidTrainers()
-	local function AddTrainer(id_num, trainer_name, location, coord_x, coord_y, faction)
-		if _G.type(trainer_name) == "number" then
-			local entry = private:AddListEntry(private.trainer_list, id_num, _G.GetSpellInfo(trainer_name), BZ[location], coord_x, coord_y, faction)
-			entry.spell_id = trainer_name
-		else
-			private:AddListEntry(private.trainer_list, id_num, L[trainer_name], BZ[location], coord_x, coord_y, faction)
-		end
-	end
-
-	AddTrainer(2326, "Thamner Pol", "Dun Morogh", 47.2, 52.6, "Alliance")
-	AddTrainer(2327, "Shaina Fuller", "Stormwind City", 52.9, 44.8, "Alliance")
-	AddTrainer(2329, "Michelle Belle", "Elwynn Forest", 43.4, 65.6, "Alliance")
-	AddTrainer(2798, "Pand Stonebinder", "Thunder Bluff", 29.7, 21.2, "Horde") -- COMPLETELY UPDATED
-	AddTrainer(3181, "Fremal Doohickey", "Wetlands", 10.8, 61.3, "Alliance")
-	AddTrainer(4211, "Dannelor", "Darnassus", 51.7, 30.4, "Alliance") -- COMPLETELY UPDATED
-	AddTrainer(4591, "Mary Edras", "Undercity", 73.5, 54.8, "Horde")
-	AddTrainer(5150, "Nissa Firestone", "Ironforge", 54, 57.8, "Alliance")
-	AddTrainer(5759, "Nurse Neela", "Tirisfal Glades", 61.8, 52.8, "Horde")
-	AddTrainer(5939, "Vira Younghoof", "Mulgore", 46.8, 60.8, "Horde")
-	AddTrainer(5943, "Rawrk", "Durotar", 54.1, 42, "Horde")
-	AddTrainer(6094, "Byancie", "Teldrassil", 55.3, 56.8, "Alliance")
-	AddTrainer(16272, "Kanaria", "Eversong Woods", 48.5, 47.6, "Horde")
-	AddTrainer(16662, "Alestus", "Silvermoon City", 77.6, 71.3, "Horde")
-	AddTrainer(16731, "Nus", "The Exodar", 39, 22.5, "Alliance")
-	AddTrainer(17214, "Anchorite Fateema", "Azuremyst Isle", 48.5, 51.8, "Alliance")
-	AddTrainer(17424, "Anchorite Paetheus", "Bloodmyst Isle", 54.7, 54, "Alliance")
-	AddTrainer(18990, "Burko", "Hellfire Peninsula", 22.4, 39.3, "Alliance")
-	AddTrainer(18991, "Aresella", "Hellfire Peninsula", 26.3, 62, "Horde")
-	AddTrainer(19184, "Mildred Fletcher", "Shattrath City", 66.5, 13.5, "Neutral")
-	AddTrainer(19478, "Fera Palerunner", "Blade's Edge Mountains", 53.7, 55, "Horde")
-	AddTrainer(22477, "Anchorite Ensham", "Terokkar Forest", 30.8, 75.9, "Neutral")
-	AddTrainer(23734, "Anchorite Yazmina", "Howling Fjord", 59.5, 62.3, "Alliance")
-	AddTrainer(26956, "Sally Tompkins", "Howling Fjord", 79.4, 29.4, "Horde")
-	AddTrainer(26992, "Brynna Wilson", "Borean Tundra", 57.8, 66.5, "Alliance")
-	AddTrainer(28706, "Olisarra the Kind", "Dalaran", 37.5, 36.7, "Neutral")
-	AddTrainer(29233, "Nurse Applewood", "Borean Tundra", 41.7, 54.5, "Horde")
-	AddTrainer(33589, "Joseph Wilson", "Icecrown", 71.5, 22.5, "Neutral")
-	AddTrainer(33621, 45542, "Shattrath City", 43.6, 90.4, "Neutral")
-	AddTrainer(45540, "Krenk Choplimb", "Orgrimmar", 37.5, 87.3, "Horde")
-	AddTrainer(49879, "Doc Zapnozzle", "Azshara", 57.07, 50.71, "Horde")
-	AddTrainer(50574, "Amelia Atherton", "Gilneas", 36.8, 65.7, "Alliance")
+	self:AddTrainer(2326, "Thamner Pol", "Dun Morogh", 47.2, 52.6, "Alliance")
+	self:AddTrainer(2327, "Shaina Fuller", "Stormwind City", 52.9, 44.8, "Alliance")
+	self:AddTrainer(2329, "Michelle Belle", "Elwynn Forest", 43.4, 65.6, "Alliance")
+	self:AddTrainer(2798, "Pand Stonebinder", "Thunder Bluff", 29.7, 21.2, "Horde") -- COMPLETELY UPDATED
+	self:AddTrainer(3181, "Fremal Doohickey", "Wetlands", 10.8, 61.3, "Alliance")
+	self:AddTrainer(4211, "Dannelor", "Darnassus", 51.7, 30.4, "Alliance") -- COMPLETELY UPDATED
+	self:AddTrainer(4591, "Mary Edras", "Undercity", 73.5, 54.8, "Horde")
+	self:AddTrainer(5150, "Nissa Firestone", "Ironforge", 54, 57.8, "Alliance")
+	self:AddTrainer(5759, "Nurse Neela", "Tirisfal Glades", 61.8, 52.8, "Horde")
+	self:AddTrainer(5939, "Vira Younghoof", "Mulgore", 46.8, 60.8, "Horde")
+	self:AddTrainer(5943, "Rawrk", "Durotar", 54.1, 42, "Horde")
+	self:AddTrainer(6094, "Byancie", "Teldrassil", 55.3, 56.8, "Alliance")
+	self:AddTrainer(16272, "Kanaria", "Eversong Woods", 48.5, 47.6, "Horde")
+	self:AddTrainer(16662, "Alestus", "Silvermoon City", 77.6, 71.3, "Horde")
+	self:AddTrainer(16731, "Nus", "The Exodar", 39, 22.5, "Alliance")
+	self:AddTrainer(17214, "Anchorite Fateema", "Azuremyst Isle", 48.5, 51.8, "Alliance")
+	self:AddTrainer(17424, "Anchorite Paetheus", "Bloodmyst Isle", 54.7, 54, "Alliance")
+	self:AddTrainer(18990, "Burko", "Hellfire Peninsula", 22.4, 39.3, "Alliance")
+	self:AddTrainer(18991, "Aresella", "Hellfire Peninsula", 26.3, 62, "Horde")
+	self:AddTrainer(19184, "Mildred Fletcher", "Shattrath City", 66.5, 13.5, "Neutral")
+	self:AddTrainer(19478, "Fera Palerunner", "Blade's Edge Mountains", 53.7, 55, "Horde")
+	self:AddTrainer(22477, "Anchorite Ensham", "Terokkar Forest", 30.8, 75.9, "Neutral")
+	self:AddTrainer(23734, "Anchorite Yazmina", "Howling Fjord", 59.5, 62.3, "Alliance")
+	self:AddTrainer(26956, "Sally Tompkins", "Howling Fjord", 79.4, 29.4, "Horde")
+	self:AddTrainer(26992, "Brynna Wilson", "Borean Tundra", 57.8, 66.5, "Alliance")
+	self:AddTrainer(28706, "Olisarra the Kind", "Dalaran", 37.5, 36.7, "Neutral")
+	self:AddTrainer(29233, "Nurse Applewood", "Borean Tundra", 41.7, 54.5, "Horde")
+	self:AddTrainer(33589, "Joseph Wilson", "Icecrown", 71.5, 22.5, "Neutral")
+	self:AddTrainer(33621, 45542, "Shattrath City", 43.6, 90.4, "Neutral")
+	self:AddTrainer(45540, "Krenk Choplimb", "Orgrimmar", 37.5, 87.3, "Horde")
+	self:AddTrainer(49879, "Doc Zapnozzle", "Azshara", 57.07, 50.71, "Horde")
+	self:AddTrainer(50574, "Amelia Atherton", "Gilneas", 36.8, 65.7, "Alliance")

 	self.InitializeFirstAidTrainers = nil
 end
diff --git a/Database/Trainers/Inscription.lua b/Database/Trainers/Inscription.lua
index d52deb4..197ad79 100644
--- a/Database/Trainers/Inscription.lua
+++ b/Database/Trainers/Inscription.lua
@@ -1,50 +1,32 @@
 -----------------------------------------------------------------------
--- Upvalued Lua API.
------------------------------------------------------------------------
-local _G = getfenv(0)
-
------------------------------------------------------------------------
 -- AddOn namespace.
 -----------------------------------------------------------------------
 local FOLDER_NAME, private = ...

-local LibStub = _G.LibStub
-local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local L = LibStub("AceLocale-3.0"):GetLocale(private.addon_name, true)
-
 -----------------------------------------------------------------------
 -- What we _really_ came here to see...
 -----------------------------------------------------------------------
 function private:InitializeInscriptionTrainers()
-	local function AddTrainer(id_num, trainer_name, location, coord_x, coord_y, faction)
-		if _G.type(trainer_name) == "number" then
-			local entry = private:AddListEntry(private.trainer_list, id_num, _G.GetSpellInfo(trainer_name), BZ[location], coord_x, coord_y, faction)
-			entry.spell_id = trainer_name
-		else
-			private:AddListEntry(private.trainer_list, id_num, L[trainer_name], BZ[location], coord_x, coord_y, faction)
-		end
-	end
-
-	AddTrainer(26916, "Mindri Dinkles", "Howling Fjord", 58.6, 62.8, "Alliance")
-	AddTrainer(26959, "Booker Kells", "Howling Fjord", 79.4, 29.3, "Horde")
-	AddTrainer(26977, "Adelene Sunlance", "Borean Tundra", 41.2, 53.9, "Horde")
-	AddTrainer(26995, "Tink Brightbolt", "Borean Tundra", 57.6, 71.7, "Alliance")
-	AddTrainer(28702, "Professor Pallin", "Dalaran", 41.8, 36.9, "Neutral")
-	AddTrainer(30706, "Jo'mah", "Orgrimmar", 56.2, 46.5, "Horde")
-	AddTrainer(30709, "Poshken Hardbinder", "Thunder Bluff", 28.7, 20.9, "Horde") -- COMPLETELY UPDATED
-	AddTrainer(30710, "Zantasia", "Silvermoon City", 69.5, 24, "Horde")
-	AddTrainer(30711, "Margaux Parchley", "Undercity", 61, 58.5, "Horde")
-	AddTrainer(30713, "Catarina Stanford", "Stormwind City", 49.8, 74.7, "Alliance") -- COMPLETELY UPDATED
-	AddTrainer(30715, "Feyden Darkin", "Darnassus", 56.8, 31.6, "Alliance") -- COMPLETELY UPDATED
-	AddTrainer(30716, "Thoth", "The Exodar", 40.5, 39.1, "Alliance")
-	AddTrainer(30717, "Elise Brightletter", "Ironforge", 60.7, 44.9, "Alliance")
-	AddTrainer(30721, "Michael Schwan", "Hellfire Peninsula", 53.9, 65.5, "Alliance")
-	AddTrainer(30722, "Neferatti", "Hellfire Peninsula", 52.3, 36.1, "Horde")
-	AddTrainer(33603, "Arthur Denny", "Icecrown", 71.7, 20.9, "Neutral")
-	AddTrainer(33615, 45363, "Shattrath City", 43.5, 90.7, "Neutral")
-	AddTrainer(33638, "Scribe Lanloer", "Shattrath City", 56.0, 74.4, "Neutral")
-	AddTrainer(33679, "Recorder Lidio", "Shattrath City", 36.2, 44, "Neutral")
-	AddTrainer(46716, "Nerog", "Orgrimmar", 55.2, 56.7, "Horde")
+	self:AddTrainer(26916, "Mindri Dinkles", "Howling Fjord", 58.6, 62.8, "Alliance")
+	self:AddTrainer(26959, "Booker Kells", "Howling Fjord", 79.4, 29.3, "Horde")
+	self:AddTrainer(26977, "Adelene Sunlance", "Borean Tundra", 41.2, 53.9, "Horde")
+	self:AddTrainer(26995, "Tink Brightbolt", "Borean Tundra", 57.6, 71.7, "Alliance")
+	self:AddTrainer(28702, "Professor Pallin", "Dalaran", 41.8, 36.9, "Neutral")
+	self:AddTrainer(30706, "Jo'mah", "Orgrimmar", 56.2, 46.5, "Horde")
+	self:AddTrainer(30709, "Poshken Hardbinder", "Thunder Bluff", 28.7, 20.9, "Horde") -- COMPLETELY UPDATED
+	self:AddTrainer(30710, "Zantasia", "Silvermoon City", 69.5, 24, "Horde")
+	self:AddTrainer(30711, "Margaux Parchley", "Undercity", 61, 58.5, "Horde")
+	self:AddTrainer(30713, "Catarina Stanford", "Stormwind City", 49.8, 74.7, "Alliance") -- COMPLETELY UPDATED
+	self:AddTrainer(30715, "Feyden Darkin", "Darnassus", 56.8, 31.6, "Alliance") -- COMPLETELY UPDATED
+	self:AddTrainer(30716, "Thoth", "The Exodar", 40.5, 39.1, "Alliance")
+	self:AddTrainer(30717, "Elise Brightletter", "Ironforge", 60.7, 44.9, "Alliance")
+	self:AddTrainer(30721, "Michael Schwan", "Hellfire Peninsula", 53.9, 65.5, "Alliance")
+	self:AddTrainer(30722, "Neferatti", "Hellfire Peninsula", 52.3, 36.1, "Horde")
+	self:AddTrainer(33603, "Arthur Denny", "Icecrown", 71.7, 20.9, "Neutral")
+	self:AddTrainer(33615, 45363, "Shattrath City", 43.5, 90.7, "Neutral")
+	self:AddTrainer(33638, "Scribe Lanloer", "Shattrath City", 56.0, 74.4, "Neutral")
+	self:AddTrainer(33679, "Recorder Lidio", "Shattrath City", 36.2, 44, "Neutral")
+	self:AddTrainer(46716, "Nerog", "Orgrimmar", 55.2, 56.7, "Horde")

 	self.InitializeInscriptionTrainers = nil
 end
diff --git a/Database/Trainers/Jewelcrafting.lua b/Database/Trainers/Jewelcrafting.lua
index 9c5a458..e0d350d 100644
--- a/Database/Trainers/Jewelcrafting.lua
+++ b/Database/Trainers/Jewelcrafting.lua
@@ -1,48 +1,30 @@
 -----------------------------------------------------------------------
--- Upvalued Lua API.
------------------------------------------------------------------------
-local _G = getfenv(0)
-
------------------------------------------------------------------------
 -- AddOn namespace.
 -----------------------------------------------------------------------
 local FOLDER_NAME, private = ...

-local LibStub = _G.LibStub
-local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local L = LibStub("AceLocale-3.0"):GetLocale(private.addon_name, true)
-
 -----------------------------------------------------------------------
 -- What we _really_ came here to see...
 -----------------------------------------------------------------------
 function private:InitializeJewelcraftingTrainers()
-	local function AddTrainer(id_num, trainer_name, location, coord_x, coord_y, faction)
-		if _G.type(trainer_name) == "number" then
-			local entry = private:AddListEntry(private.trainer_list, id_num, _G.GetSpellInfo(trainer_name), BZ[location], coord_x, coord_y, faction)
-			entry.spell_id = trainer_name
-		else
-			private:AddListEntry(private.trainer_list, id_num, L[trainer_name], BZ[location], coord_x, coord_y, faction)
-		end
-	end
-
-	AddTrainer(15501, "Aleinia", "Eversong Woods", 48.5, 47.5, "Horde")
-	AddTrainer(18751, "Kalaen", "Hellfire Peninsula", 56.8, 37.7, "Horde")
-	AddTrainer(18774, "Tatiana", "Hellfire Peninsula", 54.6, 63.6, "Alliance")
-	AddTrainer(19063, "Hamanar", "Shattrath City", 35.7, 20.5, "Neutral")
-	AddTrainer(19539, "Jazdalaad", "Netherstorm", 44.5, 34, "Neutral")
-	AddTrainer(19775, "Kalinda", "Silvermoon City", 90.5, 74.1, "Horde")
-	AddTrainer(19778, "Farii", "The Exodar", 45, 24, "Alliance")
-	AddTrainer(26915, "Ounhulo", "Howling Fjord", 59.9, 63.8, "Alliance")
-	AddTrainer(26960, "Carter Tiffens", "Howling Fjord", 79.3, 28.8, "Horde")
-	AddTrainer(26982, "Geba'li", "Borean Tundra", 41.6, 53.4, "Horde")
-	AddTrainer(26997, "Alestos", "Borean Tundra", 57.5, 72.3, "Alliance")
-	AddTrainer(28701, "Timothy Jones", "Dalaran", 40.5, 35.2, "Neutral")
-	AddTrainer(33590, "Oluros", "Icecrown", 71.5, 20.8, "Neutral")
-	AddTrainer(33614, 51311, "Shattrath City", 43.6, 90.8, "Neutral")
-	AddTrainer(33637, "Kirembri Silvermane", "Shattrath City", 58.1, 75.0, "Neutral")
-	AddTrainer(33680, "Nemiha", "Shattrath City", 36.1, 47.7, "Neutral")
-	AddTrainer(44582, "Theresa Denman", "Stormwind City", 63.5, 61.6, "Alliance")
-	AddTrainer(46675, "Lugrah", "Orgrimmar", 72.49, 34.31, "Horde")
+	self:AddTrainer(15501, "Aleinia", "Eversong Woods", 48.5, 47.5, "Horde")
+	self:AddTrainer(18751, "Kalaen", "Hellfire Peninsula", 56.8, 37.7, "Horde")
+	self:AddTrainer(18774, "Tatiana", "Hellfire Peninsula", 54.6, 63.6, "Alliance")
+	self:AddTrainer(19063, "Hamanar", "Shattrath City", 35.7, 20.5, "Neutral")
+	self:AddTrainer(19539, "Jazdalaad", "Netherstorm", 44.5, 34, "Neutral")
+	self:AddTrainer(19775, "Kalinda", "Silvermoon City", 90.5, 74.1, "Horde")
+	self:AddTrainer(19778, "Farii", "The Exodar", 45, 24, "Alliance")
+	self:AddTrainer(26915, "Ounhulo", "Howling Fjord", 59.9, 63.8, "Alliance")
+	self:AddTrainer(26960, "Carter Tiffens", "Howling Fjord", 79.3, 28.8, "Horde")
+	self:AddTrainer(26982, "Geba'li", "Borean Tundra", 41.6, 53.4, "Horde")
+	self:AddTrainer(26997, "Alestos", "Borean Tundra", 57.5, 72.3, "Alliance")
+	self:AddTrainer(28701, "Timothy Jones", "Dalaran", 40.5, 35.2, "Neutral")
+	self:AddTrainer(33590, "Oluros", "Icecrown", 71.5, 20.8, "Neutral")
+	self:AddTrainer(33614, 51311, "Shattrath City", 43.6, 90.8, "Neutral")
+	self:AddTrainer(33637, "Kirembri Silvermane", "Shattrath City", 58.1, 75.0, "Neutral")
+	self:AddTrainer(33680, "Nemiha", "Shattrath City", 36.1, 47.7, "Neutral")
+	self:AddTrainer(44582, "Theresa Denman", "Stormwind City", 63.5, 61.6, "Alliance")
+	self:AddTrainer(46675, "Lugrah", "Orgrimmar", 72.49, 34.31, "Horde")

 	self.InitializeJewelcraftingTrainers = nil
 end
diff --git a/Database/Trainers/Leatherworking.lua b/Database/Trainers/Leatherworking.lua
index d284098..1924cf2 100644
--- a/Database/Trainers/Leatherworking.lua
+++ b/Database/Trainers/Leatherworking.lua
@@ -1,71 +1,53 @@
 -----------------------------------------------------------------------
--- Upvalued Lua API.
------------------------------------------------------------------------
-local _G = getfenv(0)
-
------------------------------------------------------------------------
 -- AddOn namespace.
 -----------------------------------------------------------------------
 local FOLDER_NAME, private = ...

-local LibStub = _G.LibStub
-local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local L = LibStub("AceLocale-3.0"):GetLocale(private.addon_name, true)
-
 -----------------------------------------------------------------------
 -- What we _really_ came here to see...
 -----------------------------------------------------------------------
 function private:InitializeLeatherworkingTrainers()
-	local function AddTrainer(id_num, trainer_name, location, coord_x, coord_y, faction)
-		if _G.type(trainer_name) == "number" then
-			local entry = private:AddListEntry(private.trainer_list, id_num, _G.GetSpellInfo(trainer_name), BZ[location], coord_x, coord_y, faction)
-			entry.spell_id = trainer_name
-		else
-			private:AddListEntry(private.trainer_list, id_num, L[trainer_name], BZ[location], coord_x, coord_y, faction)
-		end
-	end
-
-	AddTrainer(1385, "Brawn", "Northern Stranglethorn", 37.8, 50.4, "Horde")
-	AddTrainer(1632, "Adele Fielder", "Elwynn Forest", 46.4, 62.1, "Alliance")
-	AddTrainer(3007, "Una", "Thunder Bluff", 41.5, 42.6, "Horde") -- COMPLETELY UPDATED
-	AddTrainer(3069, "Chaw Stronghide", "Mulgore", 45.5, 57.9, "Horde")
-	AddTrainer(3365, "Karolek", "Orgrimmar", 62.8, 44.5, "Horde")
-	AddTrainer(3549, "Shelene Rhobart", "Tirisfal Glades", 65.5, 61, "Horde")
-	AddTrainer(3605, "Nadyia Maneweaver", "Teldrassil", 41.8, 49.5, "Alliance")
-	AddTrainer(3967, "Aayndia Floralwind", "Ashenvale", 35.9, 52.1, "Alliance")
-	AddTrainer(4212, "Telonis", "Darnassus", 60.5, 36.8, "Alliance") -- COMPLETELY UPDATED
-	AddTrainer(4588, "Arthur Moore", "Undercity", 70.3, 58.5, "Horde")
-	AddTrainer(5127, "Fimble Finespindle", "Ironforge", 39.8, 33.5, "Alliance")
-	AddTrainer(5564, "Simon Tanner", "Stormwind City", 71.8, 62.9, "Alliance") -- UPDATED
-	AddTrainer(5784, "Waldor", "Wailing Caverns", 32.6, 28.5, "Neutral")
-	AddTrainer(7867, "Thorkaf Dragoneye", "Badlands", 62.6, 57.6, "Horde")
-	AddTrainer(7868, "Sarah Tanner", "Searing Gorge", 63.7, 75.7, "Alliance")
-	AddTrainer(7869, "Brumn Winterhoof", "Arathi Highlands", 28.2, 45, "Horde")
-	AddTrainer(7870, "Caryssia Moonhunter", "Feralas", 89.4, 46.5, "Alliance")
-	AddTrainer(7871, "Se'Jib", "Northern Stranglethorn", 45.3, 58.7, "Horde")
-	AddTrainer(8153, "Narv Hidecrafter", "Desolace", 55.3, 56.3, "Horde")
-	AddTrainer(11097, "Drakk Stonehand", "The Hinterlands", 13.4, 43.4, "Alliance")
-	AddTrainer(11098, "Hahrana Ironhide", "Feralas", 74.4, 43.1, "Horde")
-	AddTrainer(16278, "Sathein", "Eversong Woods", 53.5, 51, "Horde")
-	AddTrainer(16688, "Lynalis", "Silvermoon City", 84, 80.2, "Horde")
-	AddTrainer(16728, "Akham", "The Exodar", 66, 74.6, "Alliance")
-	AddTrainer(17442, "Moordo", "Azuremyst Isle", 44.8, 23.8, "Alliance")
-	AddTrainer(18754, "Barim Spilthoof", "Hellfire Peninsula", 56.2, 38.6, "Horde")
-	AddTrainer(18771, "Brumman", "Hellfire Peninsula", 54.1, 64, "Alliance")
-	AddTrainer(19187, "Darmari", "Shattrath City", 66.8, 67.1, "Neutral")
-	AddTrainer(21087, "Grikka", "Blade's Edge Mountains", 76.8, 65.5, "Horde")
-	AddTrainer(26911, "Bernadette Dexter", "Howling Fjord", 59.9, 63.6, "Alliance")
-	AddTrainer(26961, "Gunter Hansen", "Howling Fjord", 78.3, 28.2, "Horde")
-	AddTrainer(26996, "Awan Iceborn", "Borean Tundra", 76.3, 37, "Horde")
-	AddTrainer(26998, "Rosemary Bovard", "Borean Tundra", 57.6, 71.9, "Alliance")
-	AddTrainer(28700, "Diane Cannings", "Dalaran", 35.7, 28.8, "Neutral")
-	AddTrainer(29507, "Manfred Staller", "Dalaran", 34.2, 29.5, "Neutral")
-	AddTrainer(29508, "Andellion", "Dalaran", 34.5, 27.1, "Neutral")
-	AddTrainer(29509, "Namha Moonwater", "Dalaran", 36.3, 29.4, "Neutral")
-	AddTrainer(33581, "Kul'de", "Icecrown", 71.8, 20.8, "Neutral")
-	AddTrainer(33612, 51302, "Shattrath City", 43.8, 90.9, "Neutral")
-	AddTrainer(33635, "Daenril", "Shattrath City", 41.9, 63.4, "Neutral")
-	AddTrainer(33681, "Korim", "Shattrath City", 37.6, 28, "Neutral")
+	self:AddTrainer(1385, "Brawn", "Northern Stranglethorn", 37.8, 50.4, "Horde")
+	self:AddTrainer(1632, "Adele Fielder", "Elwynn Forest", 46.4, 62.1, "Alliance")
+	self:AddTrainer(3007, "Una", "Thunder Bluff", 41.5, 42.6, "Horde") -- COMPLETELY UPDATED
+	self:AddTrainer(3069, "Chaw Stronghide", "Mulgore", 45.5, 57.9, "Horde")
+	self:AddTrainer(3365, "Karolek", "Orgrimmar", 62.8, 44.5, "Horde")
+	self:AddTrainer(3549, "Shelene Rhobart", "Tirisfal Glades", 65.5, 61, "Horde")
+	self:AddTrainer(3605, "Nadyia Maneweaver", "Teldrassil", 41.8, 49.5, "Alliance")
+	self:AddTrainer(3967, "Aayndia Floralwind", "Ashenvale", 35.9, 52.1, "Alliance")
+	self:AddTrainer(4212, "Telonis", "Darnassus", 60.5, 36.8, "Alliance") -- COMPLETELY UPDATED
+	self:AddTrainer(4588, "Arthur Moore", "Undercity", 70.3, 58.5, "Horde")
+	self:AddTrainer(5127, "Fimble Finespindle", "Ironforge", 39.8, 33.5, "Alliance")
+	self:AddTrainer(5564, "Simon Tanner", "Stormwind City", 71.8, 62.9, "Alliance") -- UPDATED
+	self:AddTrainer(5784, "Waldor", "Wailing Caverns", 32.6, 28.5, "Neutral")
+	self:AddTrainer(7867, "Thorkaf Dragoneye", "Badlands", 62.6, 57.6, "Horde")
+	self:AddTrainer(7868, "Sarah Tanner", "Searing Gorge", 63.7, 75.7, "Alliance")
+	self:AddTrainer(7869, "Brumn Winterhoof", "Arathi Highlands", 28.2, 45, "Horde")
+	self:AddTrainer(7870, "Caryssia Moonhunter", "Feralas", 89.4, 46.5, "Alliance")
+	self:AddTrainer(7871, "Se'Jib", "Northern Stranglethorn", 45.3, 58.7, "Horde")
+	self:AddTrainer(8153, "Narv Hidecrafter", "Desolace", 55.3, 56.3, "Horde")
+	self:AddTrainer(11097, "Drakk Stonehand", "The Hinterlands", 13.4, 43.4, "Alliance")
+	self:AddTrainer(11098, "Hahrana Ironhide", "Feralas", 74.4, 43.1, "Horde")
+	self:AddTrainer(16278, "Sathein", "Eversong Woods", 53.5, 51, "Horde")
+	self:AddTrainer(16688, "Lynalis", "Silvermoon City", 84, 80.2, "Horde")
+	self:AddTrainer(16728, "Akham", "The Exodar", 66, 74.6, "Alliance")
+	self:AddTrainer(17442, "Moordo", "Azuremyst Isle", 44.8, 23.8, "Alliance")
+	self:AddTrainer(18754, "Barim Spilthoof", "Hellfire Peninsula", 56.2, 38.6, "Horde")
+	self:AddTrainer(18771, "Brumman", "Hellfire Peninsula", 54.1, 64, "Alliance")
+	self:AddTrainer(19187, "Darmari", "Shattrath City", 66.8, 67.1, "Neutral")
+	self:AddTrainer(21087, "Grikka", "Blade's Edge Mountains", 76.8, 65.5, "Horde")
+	self:AddTrainer(26911, "Bernadette Dexter", "Howling Fjord", 59.9, 63.6, "Alliance")
+	self:AddTrainer(26961, "Gunter Hansen", "Howling Fjord", 78.3, 28.2, "Horde")
+	self:AddTrainer(26996, "Awan Iceborn", "Borean Tundra", 76.3, 37, "Horde")
+	self:AddTrainer(26998, "Rosemary Bovard", "Borean Tundra", 57.6, 71.9, "Alliance")
+	self:AddTrainer(28700, "Diane Cannings", "Dalaran", 35.7, 28.8, "Neutral")
+	self:AddTrainer(29507, "Manfred Staller", "Dalaran", 34.2, 29.5, "Neutral")
+	self:AddTrainer(29508, "Andellion", "Dalaran", 34.5, 27.1, "Neutral")
+	self:AddTrainer(29509, "Namha Moonwater", "Dalaran", 36.3, 29.4, "Neutral")
+	self:AddTrainer(33581, "Kul'de", "Icecrown", 71.8, 20.8, "Neutral")
+	self:AddTrainer(33612, 51302, "Shattrath City", 43.8, 90.9, "Neutral")
+	self:AddTrainer(33635, "Daenril", "Shattrath City", 41.9, 63.4, "Neutral")
+	self:AddTrainer(33681, "Korim", "Shattrath City", 37.6, 28, "Neutral")

 	self.InitializeLeatherworkingTrainers = nil
 end
diff --git a/Database/Trainers/Runeforging.lua b/Database/Trainers/Runeforging.lua
index 0910ea1..6cda7e1 100644
--- a/Database/Trainers/Runeforging.lua
+++ b/Database/Trainers/Runeforging.lua
@@ -1,34 +1,16 @@
 -----------------------------------------------------------------------
--- Upvalued Lua API.
------------------------------------------------------------------------
-local _G = getfenv(0)
-
------------------------------------------------------------------------
 -- AddOn namespace.
 -----------------------------------------------------------------------
 local FOLDER_NAME, private = ...

-local LibStub = _G.LibStub
-local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local L = LibStub("AceLocale-3.0"):GetLocale(private.addon_name, true)
-
 -----------------------------------------------------------------------
 -- What we _really_ came here to see...
 -----------------------------------------------------------------------
 function private:InitializeRuneforgingTrainers()
-	local function AddTrainer(id_num, trainer_name, location, coord_x, coord_y, faction)
-		if _G.type(trainer_name) == "number" then
-			local entry = private:AddListEntry(private.trainer_list, id_num, _G.GetSpellInfo(trainer_name), BZ[location], coord_x, coord_y, faction)
-			entry.spell_id = trainer_name
-		else
-			private:AddListEntry(private.trainer_list, id_num, L[trainer_name], BZ[location], coord_x, coord_y, faction)
-		end
-	end
-
-	AddTrainer(29194, "Amal'thazad", "Eastern Plaguelands", 80.5, 48.1, "Neutral")
-	AddTrainer(29195, "Lady Alistra", "Eastern Plaguelands", 83.7, 44.6, "Neutral")
-	AddTrainer(29196, "Lord Thorval", "Eastern Plaguelands", 80.9, 43.8, "Neutral")
-	AddTrainer(31084, "Highlord Darion Mograine", "Eastern Plaguelands", 83.5, 49.5, "Neutral")
+	self:AddTrainer(29194, "Amal'thazad", "Eastern Plaguelands", 80.5, 48.1, "Neutral")
+	self:AddTrainer(29195, "Lady Alistra", "Eastern Plaguelands", 83.7, 44.6, "Neutral")
+	self:AddTrainer(29196, "Lord Thorval", "Eastern Plaguelands", 80.9, 43.8, "Neutral")
+	self:AddTrainer(31084, "Highlord Darion Mograine", "Eastern Plaguelands", 83.5, 49.5, "Neutral")

 	self.InitializeRuneforgingTrainers = nil
 end
diff --git a/Database/Trainers/Smelting.lua b/Database/Trainers/Smelting.lua
index 96dc8fc..53117d1 100644
--- a/Database/Trainers/Smelting.lua
+++ b/Database/Trainers/Smelting.lua
@@ -1,58 +1,40 @@
 -----------------------------------------------------------------------
--- Upvalued Lua API.
------------------------------------------------------------------------
-local _G = getfenv(0)
-
------------------------------------------------------------------------
 -- AddOn namespace.
 -----------------------------------------------------------------------
 local FOLDER_NAME, private = ...

-local LibStub = _G.LibStub
-local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local L = LibStub("AceLocale-3.0"):GetLocale(private.addon_name, true)
-
 -----------------------------------------------------------------------
 -- What we _really_ came here to see...
 -----------------------------------------------------------------------
 function private:InitializeSmeltingTrainers()
-	local function AddTrainer(id_num, trainer_name, location, coord_x, coord_y, faction)
-		if _G.type(trainer_name) == "number" then
-			local entry = private:AddListEntry(private.trainer_list, id_num, _G.GetSpellInfo(trainer_name), BZ[location], coord_x, coord_y, faction)
-			entry.spell_id = trainer_name
-		else
-			private:AddListEntry(private.trainer_list, id_num, L[trainer_name], BZ[location], coord_x, coord_y, faction)
-		end
-	end
-
-	AddTrainer(1681, "Brock Stoneseeker", "Loch Modan", 37.1, 47.8, "Alliance")
-	AddTrainer(1701, "Dank Drizzlecut", "Dun Morogh", 69.3, 55.5, "Alliance")
-	AddTrainer(3001, "Brek Stonehoof", "Thunder Bluff", 34.4, 57.9, "Horde") -- COMPLETELY UPDATED
-	AddTrainer(3137, "Matt Johnson", "Duskwood", 74, 49.7, "Alliance")
-	AddTrainer(3175, "Krunn", "Durotar", 51.9, 40.9, "Horde")
-	AddTrainer(3357, "Makaru", "Orgrimmar", 72.31, 34.91, "Horde")
-	AddTrainer(3555, "Johan Focht", "Silverpine Forest", 43.4, 40.5, "Horde")
-	AddTrainer(4254, "Geofram Bouldertoe", "Ironforge", 50.3, 26, "Alliance")
-	AddTrainer(4598, "Brom Killian", "Undercity", 55.8, 37, "Horde")
-	AddTrainer(5392, "Yarr Hammerstone", "Dun Morogh", 50, 50.3, "Alliance")
-	AddTrainer(5513, "Gelman Stonehand", "Stormwind City", 59.2, 37.7, "Alliance")
-	AddTrainer(6297, "Kurdram Stonehammer", "Darkshore", 38.2, 41.1, "Alliance")
-	AddTrainer(8128, "Pikkle", "Tanaris", 51.0, 29.1, "Neutral") -- COMPLETELY UPDATED
-	AddTrainer(16663, "Belil", "Silvermoon City", 79.1, 42.9, "Horde")
-	AddTrainer(16752, "Muaat", "The Exodar", 60, 87.9, "Alliance")
-	AddTrainer(17488, "Dulvi", "Azuremyst Isle", 48.9, 51.1, "Alliance")
-	AddTrainer(18747, "Krugosh", "Hellfire Peninsula", 55.5, 37.6, "Horde")
-	AddTrainer(18779, "Hurnak Grimmord", "Hellfire Peninsula", 56.7, 63.8, "Alliance")
-	AddTrainer(18804, "Prospector Nachlan", "Bloodmyst Isle", 56.3, 54.3, "Alliance")
-	AddTrainer(26912, "Grumbol Stoutpick", "Howling Fjord", 59.9, 63.9, "Alliance")
-	AddTrainer(26962, "Jonathan Lewis", "Howling Fjord", 79.3, 29, "Horde")
-	AddTrainer(26976, "Brunna Ironaxe", "Borean Tundra", 42.6, 53.2, "Horde")
-	AddTrainer(26999, "Fendrig Redbeard", "Borean Tundra", 57.5, 66.2, "Alliance")
-	AddTrainer(28698, "Jedidiah Handers", "Dalaran", 41.5, 26, "Neutral")
-	AddTrainer(33617, 32606, "Shattrath City", 43.6, 90.9, "Neutral")
-	AddTrainer(33640, "Hanlir", "Shattrath City", 58.0, 75.0, "Neutral")
-	AddTrainer(33682, "Fono", "Shattrath City", 36, 48.5, "Neutral")
-	AddTrainer(46357, "Gonto", "Orgrimmar", 44.57, 78.61, "Horde")
+	self:AddTrainer(1681, "Brock Stoneseeker", "Loch Modan", 37.1, 47.8, "Alliance")
+	self:AddTrainer(1701, "Dank Drizzlecut", "Dun Morogh", 69.3, 55.5, "Alliance")
+	self:AddTrainer(3001, "Brek Stonehoof", "Thunder Bluff", 34.4, 57.9, "Horde") -- COMPLETELY UPDATED
+	self:AddTrainer(3137, "Matt Johnson", "Duskwood", 74, 49.7, "Alliance")
+	self:AddTrainer(3175, "Krunn", "Durotar", 51.9, 40.9, "Horde")
+	self:AddTrainer(3357, "Makaru", "Orgrimmar", 72.31, 34.91, "Horde")
+	self:AddTrainer(3555, "Johan Focht", "Silverpine Forest", 43.4, 40.5, "Horde")
+	self:AddTrainer(4254, "Geofram Bouldertoe", "Ironforge", 50.3, 26, "Alliance")
+	self:AddTrainer(4598, "Brom Killian", "Undercity", 55.8, 37, "Horde")
+	self:AddTrainer(5392, "Yarr Hammerstone", "Dun Morogh", 50, 50.3, "Alliance")
+	self:AddTrainer(5513, "Gelman Stonehand", "Stormwind City", 59.2, 37.7, "Alliance")
+	self:AddTrainer(6297, "Kurdram Stonehammer", "Darkshore", 38.2, 41.1, "Alliance")
+	self:AddTrainer(8128, "Pikkle", "Tanaris", 51.0, 29.1, "Neutral") -- COMPLETELY UPDATED
+	self:AddTrainer(16663, "Belil", "Silvermoon City", 79.1, 42.9, "Horde")
+	self:AddTrainer(16752, "Muaat", "The Exodar", 60, 87.9, "Alliance")
+	self:AddTrainer(17488, "Dulvi", "Azuremyst Isle", 48.9, 51.1, "Alliance")
+	self:AddTrainer(18747, "Krugosh", "Hellfire Peninsula", 55.5, 37.6, "Horde")
+	self:AddTrainer(18779, "Hurnak Grimmord", "Hellfire Peninsula", 56.7, 63.8, "Alliance")
+	self:AddTrainer(18804, "Prospector Nachlan", "Bloodmyst Isle", 56.3, 54.3, "Alliance")
+	self:AddTrainer(26912, "Grumbol Stoutpick", "Howling Fjord", 59.9, 63.9, "Alliance")
+	self:AddTrainer(26962, "Jonathan Lewis", "Howling Fjord", 79.3, 29, "Horde")
+	self:AddTrainer(26976, "Brunna Ironaxe", "Borean Tundra", 42.6, 53.2, "Horde")
+	self:AddTrainer(26999, "Fendrig Redbeard", "Borean Tundra", 57.5, 66.2, "Alliance")
+	self:AddTrainer(28698, "Jedidiah Handers", "Dalaran", 41.5, 26, "Neutral")
+	self:AddTrainer(33617, 32606, "Shattrath City", 43.6, 90.9, "Neutral")
+	self:AddTrainer(33640, "Hanlir", "Shattrath City", 58.0, 75.0, "Neutral")
+	self:AddTrainer(33682, "Fono", "Shattrath City", 36, 48.5, "Neutral")
+	self:AddTrainer(46357, "Gonto", "Orgrimmar", 44.57, 78.61, "Horde")

 	self.InitializeSmeltingTrainers = nil
 end
diff --git a/Database/Trainers/Tailoring.lua b/Database/Trainers/Tailoring.lua
index cbe4212..2707153 100644
--- a/Database/Trainers/Tailoring.lua
+++ b/Database/Trainers/Tailoring.lua
@@ -1,64 +1,46 @@
 -----------------------------------------------------------------------
--- Upvalued Lua API.
------------------------------------------------------------------------
-local _G = getfenv(0)
-
------------------------------------------------------------------------
 -- AddOn namespace.
 -----------------------------------------------------------------------
 local FOLDER_NAME, private = ...

-local LibStub = _G.LibStub
-local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
-local L = LibStub("AceLocale-3.0"):GetLocale(private.addon_name, true)
-
 -----------------------------------------------------------------------
 -- What we _really_ came here to see...
 -----------------------------------------------------------------------
 function private:InitializeTailoringTrainers()
-	local function AddTrainer(id_num, trainer_name, location, coord_x, coord_y, faction)
-		if _G.type(trainer_name) == "number" then
-			local entry = private:AddListEntry(private.trainer_list, id_num, _G.GetSpellInfo(trainer_name), BZ[location], coord_x, coord_y, faction)
-			entry.spell_id = trainer_name
-		else
-			private:AddListEntry(private.trainer_list, id_num, L[trainer_name], BZ[location], coord_x, coord_y, faction)
-		end
-	end
-
-	AddTrainer(1103, "Eldrin", "Elwynn Forest", 79.3, 69, "Alliance")
-	AddTrainer(1346, "Georgio Bolero", "Stormwind City", 53.2, 81.5, "Alliance")
-	AddTrainer(2399, "Daryl Stack", "Hillsbrad Foothills", 58.1, 48.0, "Horde") -- COMPLETELY UPDATED
-	AddTrainer(2627, "Grarnik Goodstitch", "The Cape of Stranglethorn", 43.6, 73, "Neutral")
-	AddTrainer(3004, "Tepa", "Thunder Bluff", 44.5, 45.3, "Horde") -- COMPLETELY UPDATED
-	AddTrainer(3363, "Magar", "Orgrimmar", 63.5, 50, "Horde")
-	AddTrainer(3484, "Kil'hala", "Northern Barrens", 49.9, 61.2, "Horde")
-	AddTrainer(3523, "Bowen Brisboise", "Tirisfal Glades", 52.6, 55.6, "Horde")
-	AddTrainer(3704, "Mahani", "Southern Barrens", 41.5, 46.9, "Horde")
-	AddTrainer(4159, "Me'lynn", "Darnassus", 59.8, 37.4, "Alliance") -- COMPLETELY UPDATED
-	AddTrainer(4193, "Grondal Moonbreeze", "Darkshore", 38.2, 40.5, "Alliance")
-	AddTrainer(4576, "Josef Gregorian", "Undercity", 70.7, 30.3, "Horde")
-	AddTrainer(4578, "Josephine Lister", "Undercity", 86.5, 22.3, "Horde")
-	AddTrainer(5153, "Jormund Stonebrow", "Ironforge", 43.2, 29, "Alliance")
-	AddTrainer(9584, "Jalane Ayrole", "Stormwind City", 40.6, 83.9, "Alliance")
-	AddTrainer(11052, "Timothy Worthington", "Dustwallow Marsh", 66.22, 51.7, "Alliance")
-	AddTrainer(11557, "Meilosh", "Felwood", 65.7, 2.9, "Horde")
-	AddTrainer(16366, "Sempstress Ambershine", "Eversong Woods", 37.4, 71.9, "Horde")
-	AddTrainer(16640, "Keelen Sheets", "Silvermoon City", 57, 50.1, "Horde")
-	AddTrainer(16729, "Refik", "The Exodar", 63, 67.9, "Alliance")
-	AddTrainer(17487, "Erin Kelly", "Azuremyst Isle", 46.2, 70.5, "Alliance")
-	AddTrainer(18749, "Dalinna", "Hellfire Peninsula", 56.6, 37.1, "Horde")
-	AddTrainer(18772, "Hama", "Hellfire Peninsula", 54.1, 63.6, "Alliance")
-	AddTrainer(26914, "Benjamin Clegg", "Howling Fjord", 58.6, 62.8, "Alliance")
-	AddTrainer(26964, "Alexandra McQueen", "Howling Fjord", 79.4, 30.7, "Horde")
-	AddTrainer(26969, "Raenah", "Borean Tundra", 41.6, 53.5, "Horde")
-	AddTrainer(27001, "Darin Goodstitch", "Borean Tundra", 57.5, 72.3, "Alliance")
-	AddTrainer(28699, "Charles Worth", "Dalaran", 36.5, 33.5, "Neutral")
-	AddTrainer(33580, "Dustin Vail", "Icecrown", 73, 20.8, "Neutral")
-	AddTrainer(33613, 51309, "Shattrath City", 44, 91.1, "Neutral")
-	AddTrainer(33636, "Miralisse", "Shattrath City", 41.6, 63.5, "Neutral")
-	AddTrainer(33684, "Weaver Aoa", "Shattrath City", 37.6, 27.2, "Neutral")
-	AddTrainer(44783, "Hiwahi Three-Feathers", "Orgrimmar", 38.8, 50.5, "Horde")
-	AddTrainer(45559, "Nivi Weavewell", "Orgrimmar", 41.1, 79.7, "Horde")
+	self:AddTrainer(1103, "Eldrin", "Elwynn Forest", 79.3, 69, "Alliance")
+	self:AddTrainer(1346, "Georgio Bolero", "Stormwind City", 53.2, 81.5, "Alliance")
+	self:AddTrainer(2399, "Daryl Stack", "Hillsbrad Foothills", 58.1, 48.0, "Horde") -- COMPLETELY UPDATED
+	self:AddTrainer(2627, "Grarnik Goodstitch", "The Cape of Stranglethorn", 43.6, 73, "Neutral")
+	self:AddTrainer(3004, "Tepa", "Thunder Bluff", 44.5, 45.3, "Horde") -- COMPLETELY UPDATED
+	self:AddTrainer(3363, "Magar", "Orgrimmar", 63.5, 50, "Horde")
+	self:AddTrainer(3484, "Kil'hala", "Northern Barrens", 49.9, 61.2, "Horde")
+	self:AddTrainer(3523, "Bowen Brisboise", "Tirisfal Glades", 52.6, 55.6, "Horde")
+	self:AddTrainer(3704, "Mahani", "Southern Barrens", 41.5, 46.9, "Horde")
+	self:AddTrainer(4159, "Me'lynn", "Darnassus", 59.8, 37.4, "Alliance") -- COMPLETELY UPDATED
+	self:AddTrainer(4193, "Grondal Moonbreeze", "Darkshore", 38.2, 40.5, "Alliance")
+	self:AddTrainer(4576, "Josef Gregorian", "Undercity", 70.7, 30.3, "Horde")
+	self:AddTrainer(4578, "Josephine Lister", "Undercity", 86.5, 22.3, "Horde")
+	self:AddTrainer(5153, "Jormund Stonebrow", "Ironforge", 43.2, 29, "Alliance")
+	self:AddTrainer(9584, "Jalane Ayrole", "Stormwind City", 40.6, 83.9, "Alliance")
+	self:AddTrainer(11052, "Timothy Worthington", "Dustwallow Marsh", 66.22, 51.7, "Alliance")
+	self:AddTrainer(11557, "Meilosh", "Felwood", 65.7, 2.9, "Horde")
+	self:AddTrainer(16366, "Sempstress Ambershine", "Eversong Woods", 37.4, 71.9, "Horde")
+	self:AddTrainer(16640, "Keelen Sheets", "Silvermoon City", 57, 50.1, "Horde")
+	self:AddTrainer(16729, "Refik", "The Exodar", 63, 67.9, "Alliance")
+	self:AddTrainer(17487, "Erin Kelly", "Azuremyst Isle", 46.2, 70.5, "Alliance")
+	self:AddTrainer(18749, "Dalinna", "Hellfire Peninsula", 56.6, 37.1, "Horde")
+	self:AddTrainer(18772, "Hama", "Hellfire Peninsula", 54.1, 63.6, "Alliance")
+	self:AddTrainer(26914, "Benjamin Clegg", "Howling Fjord", 58.6, 62.8, "Alliance")
+	self:AddTrainer(26964, "Alexandra McQueen", "Howling Fjord", 79.4, 30.7, "Horde")
+	self:AddTrainer(26969, "Raenah", "Borean Tundra", 41.6, 53.5, "Horde")
+	self:AddTrainer(27001, "Darin Goodstitch", "Borean Tundra", 57.5, 72.3, "Alliance")
+	self:AddTrainer(28699, "Charles Worth", "Dalaran", 36.5, 33.5, "Neutral")
+	self:AddTrainer(33580, "Dustin Vail", "Icecrown", 73, 20.8, "Neutral")
+	self:AddTrainer(33613, 51309, "Shattrath City", 44, 91.1, "Neutral")
+	self:AddTrainer(33636, "Miralisse", "Shattrath City", 41.6, 63.5, "Neutral")
+	self:AddTrainer(33684, "Weaver Aoa", "Shattrath City", 37.6, 27.2, "Neutral")
+	self:AddTrainer(44783, "Hiwahi Three-Feathers", "Orgrimmar", 38.8, 50.5, "Horde")
+	self:AddTrainer(45559, "Nivi Weavewell", "Orgrimmar", 41.1, 79.7, "Horde")

 	self.InitializeTailoringTrainers = nil
 end
diff --git a/Scanner.lua b/Scanner.lua
index 4537ca2..937999b 100644
--- a/Scanner.lua
+++ b/Scanner.lua
@@ -605,9 +605,9 @@ do

 			if trainer then
 				if trainer.spell_id then
-					table.insert(output, ("AddTrainer(%s, %s, \"%s\", %s, %s, \"%s\")"):format(identifier, trainer.spell_id, trainer.location, trainer.coord_x, trainer.coord_y, trainer.faction))
+					table.insert(output, ("self:AddTrainer(%s, %s, \"%s\", %s, %s, \"%s\")"):format(identifier, trainer.spell_id, trainer.location, trainer.coord_x, trainer.coord_y, trainer.faction))
 				else
-					table.insert(output, ("AddTrainer(%s, \"%s\", \"%s\", %s, %s, \"%s\")"):format(identifier, trainer.name:gsub("\"", "\\\""), trainer.location, trainer.coord_x, trainer.coord_y, trainer.faction))
+					table.insert(output, ("self:AddTrainer(%s, \"%s\", \"%s\", %s, %s, \"%s\")"):format(identifier, trainer.name:gsub("\"", "\\\""), trainer.location, trainer.coord_x, trainer.coord_y, trainer.faction))
 				end
 			end
 		end
diff --git a/Utilities.lua b/Utilities.lua
index 826c1c9..1e6a703 100644
--- a/Utilities.lua
+++ b/Utilities.lua
@@ -14,6 +14,8 @@ local LibStub = _G.LibStub

 local addon = LibStub("AceAddon-3.0"):GetAddon(private.addon_name)
 local BFAC = LibStub("LibBabble-Faction-3.0"):GetLookupTable()
+local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
+local L = LibStub("AceLocale-3.0"):GetLocale(private.addon_name, true)

 -----------------------------------------------------------------------
 -- Methods.
@@ -63,6 +65,16 @@ do
 	end
 end -- do

+function private:AddTrainer(id_num, trainer_name, location, coord_x, coord_y, faction)
+	if _G.type(trainer_name) == "number" then
+		local entry = self:AddListEntry(self.trainer_list, id_num, _G.GetSpellInfo(trainer_name), BZ[location], coord_x, coord_y, faction)
+		entry.spell_id = trainer_name
+	else
+		self:AddListEntry(self.trainer_list, id_num, L[trainer_name], BZ[location], coord_x, coord_y, faction)
+	end
+end
+
+
 function private.ItemLinkToID(item_link)
 	if not item_link then
 		return