     private var iterator:IViewCursor = null;
 
 	//saved sort value
-    private var oldSort:Sort;
+    private var oldSort:ISort;
     
     //sort object used to gather members of dimensions 
-    private var newSort:Sort;
+    private var newSort:ISort;
 
 	//Cube builder instance
     private var nodeBuilder:CubeNodeBuilder;

                newSort = new Sort;
                var fields:Array = [];
                
                var field:SortField ;
                for each (level in levels)
                {
                	if (level.attribute && level.attribute.userDataFunction)

import mx.collections.CursorBookmark;
import mx.collections.IList;
import mx.collections.IViewCursor;
import mx.collections.ISort;
import mx.collections.ISortField;
import mx.collections.Sort;
import mx.collections.SortField;
import mx.core.mx_internal;
