@@ -34,6 +34,9 @@ function ActionBarController_OnLoad(self
 	
 	--Extra Actionbar Only
 	self:RegisterEvent("UPDATE_EXTRA_ACTIONBAR");
+
+	-- MultiBarBottomLeft
+	self:RegisterEvent("ACTIONBAR_SHOW_BOTTOMLEFT");
 	
 	CURRENT_ACTION_BAR_STATE = LE_ACTIONBAR_STATE_MAIN;
 end
@@ -75,10 +78,18 @@ function ActionBarController_OnEvent(sel
 	if ( event == "UPDATE_EXTRA_ACTIONBAR" ) then
 		ExtraActionBar_Update();
 	end
+
+	-- MultiBarBottomLeft
+	if ( event == "ACTIONBAR_SHOW_BOTTOMLEFT") then
+		SHOW_MULTI_ACTIONBAR_1 = true;
+		InterfaceOptionsActionBarsPanelBottomLeft.value = nil;
+		MultiActionBar_Update();
+		UIParent_ManageFramePositions();
+	end
 end
 
 
-function ActionBarController_UpdateAll()
+function ActionBarController_UpdateAll(force)
 	PossessBar_Update();
 	StanceBar_Update();
 	CURRENT_ACTION_BAR_STATE = LE_ACTIONBAR_STATE_MAIN;
@@ -108,13 +119,12 @@ function ActionBarController_UpdateAll()
 			MainMenuBarArtFrame:SetAttribute("actionpage", GetActionBarPage());
 		end
 		
-		for i=1, NUM_ACTIONBAR_BUTTONS do
-			local button = _G["ActionButton"..i];
-			ActionButton_UpdateAction(button);
+		for k, frame in pairs(ActionBarButtonEventsFrame.frames) do
+			ActionButton_UpdateAction(frame);
 		end
 	else
 		-- Otherwise, display the normal action bar
-		ActionBarController_ResetToDefault();
+		ActionBarController_ResetToDefault(force);
 	end
 	
 	ValidateActionBarTransition();
@@ -122,11 +132,10 @@ end
 
 
 
-function ActionBarController_ResetToDefault()
+function ActionBarController_ResetToDefault(force)
 	MainMenuBarArtFrame:SetAttribute("actionpage", GetActionBarPage());
-	for i=1, NUM_ACTIONBAR_BUTTONS do
-		local button = _G["ActionButton"..i];
-		ActionButton_UpdateAction(button);
+	for k, frame in pairs(ActionBarButtonEventsFrame.frames) do
+		ActionButton_UpdateAction(frame, force);
 	end
 end