AS3: use an mc to mask dynamically loaded images

I have created a custom 3d wall gallery and I would like to mask it to give it right and left fades. I have posted the code that places the images on the stage but for the life of me I cannot mask it. Themc in the library mask_mc already has the correct gradient so now how do I add it to the top of the dynamic gallery?

Any thoughts?

Thanks Again!

private function viewCarousel():void {
                viewport = new Viewport3D(stage.stageWidth, stage.stageHeight, false, true);
                addChild(viewport);
                trace("mask_mc");
                scene = new Scene3D();
                holder = new DisplayObject3D();
                camera = new Camera3D();
                camera.z = holder.z - 200;

                holder.z = 100;
                holder.y = -50;
                trace();
                scene.addChild(holder);
                addEventListener(Event.ENTER_FRAME, onEnterFrame);
                stage.addEventListener(KeyboardEvent.KEY_DOWN, _onKeyDown);
                holder.z = 200;
                Tweener.addTween(holder, { time:1 , z: 55, transition:"easeInOutQuad" } );
                viewport.alpha = 0;
                Tweener.addTween(viewport, { time:1.6 , delay:.5, alpha:1, transition:"easeInOutQuad" } );
                scr = scroller;
                scr.addEventListener(MouseEvent.MOUSE_DOWN, onScrollMouseDown);
                scr.buttonMode = true;
                renderer = new BasicRenderEngine();
                wallBlockCount = Math.round(imgNumber / WALL_BLOCK_IMAGE_COUNT);
                for (var currentWallBlock:int = 0; currentWallBlock < wallBlockCount; currentWallBlock++) {
                    for (var i:int = 0; i < WALL_BLOCK_IMAGE_COUNT; i++) {
                        if (i + ((currentWallBlock) * WALL_BLOCK_IMAGE_COUNT) < movieMaterialArray.length) {
                            var thumb:MovieClip = new MovieClip();
                            thumb.addChild(movieMaterialArray[i + ((currentWallBlock) * WALL_BLOCK_IMAGE_COUNT)].movie);
                            var movieMaterial:MovieMaterial = new MovieMaterial(thumb, false, true);
                            movieMaterial.interactive = true;
                            movieMaterial.smooth = true;
                            movieMaterial.tiled = true;
                            primitive = new Plane(movieMaterial, 100, 70, 2, 2);
                            primitive.y = currentWallBlock * (80);
                            primitive.rotationY = 360 / (WALL_BLOCK_IMAGE_COUNT) * i;
                            primitive.moveForward(200);
                            if (currentWallBlock == 0) {
                                var reflected:MovieClip = new MovieClip();

                                var refMask:MovieClip = new masker() as MovieClip;
                                reflected.addChild(refMask);
                                refMask.y = -70;
                                refMask.cacheAsBitmap = true;

                                var bmpd:BitmapData = new BitmapData(thumb.width, thumb.height, true);
                                bmpd.draw(thumb);
                                var bmp:Bitmap = new Bitmap(bmpd);
                                bmp.width = 100;
                                bmp.height = 70;
                                var bitmapHolder:MovieClip = new MovieClip();
                                bitmapHolder.addChild(bmp);
                                bitmapHolder.scaleY = -1;
                                bitmapHolder.cacheAsBitmap = true;

                                bitmapHolder.mask = refMask;
                                reflected.addChild(bitmapHolder);
                                reflected.alpha = .5;
                                reflected.mouseEnabled = false;

                                var refMat:MovieMaterial = new MovieMaterial(reflected, true, false);
                                var reflectionPlane:Plane = new Plane(refMat, 100, 70, 5, 5);

                                reflectionPlane.y = primitive.y - 70;
                                reflectionPlane.rotationY = primitive.rotationY ;
                                reflectionPlane.moveForward(200);
                                holder.addChild(reflectionPlane);
                            }
                            var obj:Object = new Object ();
                            obj.num = i;
                            obj.block = currentWallBlock;
                            obj.original = movieMaterialArray[i + ((currentWallBlock) * WALL_BLOCK_IMAGE_COUNT)].original;
                            obj.material = movieMaterialArray[i + ((currentWallBlock) * WALL_BLOCK_IMAGE_COUNT)].movie;
                            dict[primitive] = obj;
                            primitive.name = "image" + currentWallBlock + i;
                            holder.addChild(primitive);
                            primitive.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, onImageClick);
                            primitive.addEventListener(InteractiveScene3DEvent.OBJECT_OVER, onImageOver);
                            primitive.addEventListener(InteractiveScene3DEvent.OBJECT_OUT, onImageOut);
                        }
                    }
                }
            }