Loading external images with preloader

I have my main fla actionscript that adds buttons to the stage and then on rollover of each button it calls te loaderClass.as to load an external image.

Im getting this type error…

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at LoaderClass/loadImage()
at testSiteExternalClass_fla::MainTimeline/buttonMouseOver()

my fla actionscript code is:

function buttonMouseOver(e:MouseEvent):void 
{
	clearRollover()
	
	var current:*
	current = e.target
	
	current.smallButtonBackground.gotoAndPlay(2);
	
	//set the text back to rollover state
	TweenLite.to(current.titleTXTMC.smallButtonTitleTXT, 0.4, {y:10, ease:Quartic.easeOut, onComplete:onFinish});

	function onFinish():void {
			TweenLite.to(current.smallButtonCatMC.smallButtonCatTXT, 0.4, {y:10, alpha:1, ease:Quartic.easeOut});
	}

	removeChild(imageMC);
	
	imageMC = new MovieClip();
	
	addChildAt(imageMC, 0);
	
	for(var i:int = 0; i < buttonArray.length; i++)
	{		
		if (buttonArray*.idVar <= e.target.idVar)
		{
			TweenLite.to(buttonArray*, 0.3, {y:buttonArray*.yPosVar, ease:Quartic.easeOut});
		}
		else
		{
			TweenLite.to(buttonArray*, 0.3, {y:buttonArray*.yPosVar + 42, ease:Quartic.easeOut});
		}
	}
	
	loaderClass.loadImage(current.bgImage, imageMC);
	
}

and this is my loaderClass.as

package {
	
	import flash.display.MovieClip;
	import flash.display.Loader;
	import flash.events.*;
	import flash.net.URLRequest;
	
	public class LoaderClass extends MovieClip {
		
		private var imageLoader:Loader;
		private var mcTarget:MovieClip;
		
		public function LoaderClass() {
			
		}
		
		public function onProgress(e:ProgressEvent):void {
			
			var loaded:Number = e.bytesLoaded;
			var total:Number = e.bytesTotal;
			var perc:Number = loaded/total;
			e.target.preloaderMC.loaderBar.scaleX = perc;
		}
		
		private function onComplete(evt:Event) {
				
				mcTarget.addChild(imageLoader.content);
				imageLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onComplete);

		}
		
		public function loadImage(url:String, mc:MovieClip) {
			
			imageLoader = new Loader();			
			var imageRequest = new URLRequest(url);
			mcTarget = mc;

			imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
			imageLoader.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
			imageLoader.load(imageRequest);
			
		}
		
	}
	
}

can anyone see why im getting this output?