How can you generate buttons from an external class

I am kinda new to flash and still trying to learn and now I am trying to generate an invisible button and I want it to be reusable and would be in an external class…

I have a Main.fla with Main.as and an External Class.

The External class codes:

package com.ui
{
	import flash.display.Sprite;
	
	public class CreateInviBtn extends Sprite
	{
		
		public function CreateInviBtn(name:String, xPos:Number, yPos:Number, width:Number, height:Number, shape:String = "R")
		{
			
			switch(shape) {
				case "R":
					createRect(name, xPos, yPos, width, height);
					break;
				case "E":
					createEllipse(name, xPos, yPos, width, height);
					break;
				}
		}
		
		private function createRect(name:String, xVal:Number, yVal:Number, w:Number, h:Number):Sprite
		{
			var btn:Sprite = new Sprite();
			btn.graphics.beginFill(0x00FFFF);
			btn.graphics.drawRect(xVal, yVal, w, h);
			btn.graphics.endFill();
			btn.buttonMode = true;
			btn.alpha = 1;
			return btn;
		}
		
		private function createEllipse(name:String, xVal:Number, yVal:Number, w:Number, h:Number):Sprite
		{
			var btn:Sprite = new Sprite();
			btn.graphics.beginFill(0x00FFFF);
			btn.graphics.drawEllipse(xVal, yVal, w, h);
			btn.graphics.endFill();
			btn.buttonMode = true;
			btn.alpha = 1;
			return btn;
		}
		
	}
	
}

I tried this in my Main.as but it doesn’t work:

btn = new CreateInviBtn("button", 10, 10, 100, 100, "R");
this.addChild(btn);

help…