 			notifyFilterChanged();
 		}
 	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Methods
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-     * @private
-     * Notify of a change to our filter, so that filter stack is ultimately 
-     * re-applied by the framework.
-     */ 
-	private function notifyFilterChanged():void
-	{
-		dispatchEvent(new Event(Event.CHANGE));
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  IFlexBitmapFilter 
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  Creates a flash.filters.ConvolutionFilter instance using the current 
-	 *  property values. 
-	 * 
-	 *  @return flash.filters.ConvolutionFilter instance
-	 */		
-	public function createBitmapFilter():BitmapFilter 
+	
+	public function clone():BitmapFilter
 	{
 		return new flash.filters.ConvolutionFilter(matrixX, matrixY, matrix, divisor, 
 												   bias, preserveAlpha, clamp, color,
 												   alpha);
 	}
+	
 }
 }
	                                  clamp:Boolean = true, color:uint = 0, 
	                                  alpha:Number = 0.0)
	{
		super();
		
		this.matrixX = matrixX;
		this.matrixY = matrixY;
		this.matrix = matrix;

package mx.filters
{
import flash.filters.BitmapFilter;
import flash.filters.ConvolutionFilter;
import mx.filters.BaseFilter;
import mx.filters.IBitmapFilter;

public class ConvolutionFilter extends BaseFilter implements IBitmapFilter
{
	public function ConvolutionFilter(matrixX:Number = 0, matrixY:Number = 0, 
	                                  matrix:Array = null, divisor:Number = 1.0, 
	                                  bias:Number = 0.0, 
