 //eavl map functor
 struct FindSelection
 {
-    eavlIntArray *checkArray;
-    FindSelection(eavlIntArray *inArray) : checkArray(inArray) { }
+    int size;
+    eavlConstArray<int> checkArray;
+    FindSelection(eavlConstArray<int> *inArray, int _size) : checkArray(*inArray), size(_size) { }
     EAVL_FUNCTOR int operator()(int key) 
     {
         int minIndex, maxIndex, midPoint;
         minIndex = 0;
-        maxIndex = checkArray->GetNumberOfTuples();
+        maxIndex = size;
         while(maxIndex >= minIndex)
         {
             midPoint = minIndex + ((maxIndex - minIndex) / 2);
-            if(checkArray->GetValue(midPoint) == key)
+            if(checkArray[midPoint] == key)
                 return 1;
-            else if(checkArray->GetValue(midPoint) < key)
+            else if(checkArray[midPoint] < key)
                 minIndex = midPoint + 1;
             else
                 maxIndex = midPoint - 1;

#include "eavlReduceOp_1.h"
#include "eavlReverseIndexOp.h"
#include "eavlSimpleReverseIndexOp.h"

//compare function for qsort
int cmpfunc (const void * a, const void * b)

                               );
    eavlExecutor::Go();
    //--


    //----perform reverse index
    eavlIntArray *interestingIndexes = new eavlIntArray("interestingIndexes", 
