Parent and Root problems

ok so here is my problem, I have an .fla and .as file named Main.fla and Main.as respectively, I have an object called ball that I dynamically place on stage from the library like so

//code in Main.as extends MovieClip

var ball:Ball = new Ball();
addChild(ball);

//code in Ball.as

public function Ball(){
trace(MovieClip(parent));
}

the object appears on stage
however the trace returns null, like the parent doesn’t exist, any ideas