Index: trunk/ippTools/src/detselect.c
===================================================================
--- trunk/ippTools/src/detselect.c	(revision 12237)
+++ trunk/ippTools/src/detselect.c	(revision 12259)
@@ -168,16 +168,9 @@
     }
 
-    psString query = psStringCopy(
-        "SELECT DISTINCT"
-        "   detRunSummary.det_id,"
-        "   detRunSummary.iteration"
-        " FROM detRun"
-        " JOIN detRunSummary"
-        "   USING(det_id)"
-        " WHERE"
-        "   detRun.state = 'stop'"
-        "   AND detRun.mode  = 'master'"
-        "   AND detRunSummary.accept = 1" 
-    );
+    psString query = pxDataGet("detselect_search.sql");
+    if (!query) {
+        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
+        return false;
+    }
 
     if (config->where) {
@@ -246,18 +239,10 @@
     PS_ASSERT_PTR_NON_NULL(config, false);
 
-    psString query = psStringCopy(
-        "SELECT DISTINCT"
-        "   detNormalizedImfile.*"
-        " FROM detNormalizedImfile"
-        " JOIN detRun"
-        "   USING(det_id)"
-        " JOIN detRunSummary"
-        "   ON detNormalizedImfile.det_id = detRunSummary.det_id"
-        "   AND detNormalizedImfile.iteration = detRunSummary.iteration"
-        " WHERE"
-        "   detRun.state = 'stop'"
-        "   AND detRun.mode  = 'master'"
-        "   AND detRunSummary.accept = 1" 
-    );
+    psString query = pxDataGet("detselect_select.sql");
+    if (!query) {
+        psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
+        return false;
+    }
+
 
     if (config->where) {
Index: trunk/ippTools/src/regtool.c
===================================================================
--- trunk/ippTools/src/regtool.c	(revision 12237)
+++ trunk/ippTools/src/regtool.c	(revision 12259)
@@ -203,18 +203,5 @@
             }
         }
-        psString class = psMetadataLookupStr(&status, config->args, "-class");
-        if (!status) {
-            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -class");
-            psFree(query);
-            return false;
-        }
-        if (class) {
-            if (!psMetadataAddStr(where, PS_LIST_TAIL, "class", 0, "==", class)) {
-                psError(PS_ERR_UNKNOWN, false, "failed to add item class");
-                psFree(where);
-                psFree(query);
-                return false;
-            }
-        }
+
         psString class_id = psMetadataLookupStr(&status, config->args, "-class_id");
         if (!status) {
@@ -855,4 +842,14 @@
     }
 
+    psString filelevel = psMetadataLookupStr(&status, config->args, "-filelevel");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -filelevel");
+        return false;
+    }
+    if (!filelevel) {
+        psError(PS_ERR_UNKNOWN, true, "-filelevel is required");
+        return false;
+    }
+
     psString filter = psMetadataLookupStr(&status, config->args, "-filter");
     if (!status) {
@@ -932,4 +929,5 @@
         return false;
     }
+
     psTime *dateobs = NULL;
     {
@@ -962,4 +960,5 @@
         exp_type,
         exp->imfiles,
+        filelevel,
         exp->workdir,
         filter,
@@ -1102,5 +1101,4 @@
     rawImfileRow *raw = rawImfileRowAlloc(
         imfile->exp_tag,
-        imfile->class,
         imfile->class_id,
         imfile->uri,
Index: trunk/ippTools/src/regtoolConfig.c
===================================================================
--- trunk/ippTools/src/regtoolConfig.c	(revision 12237)
+++ trunk/ippTools/src/regtoolConfig.c	(revision 12259)
@@ -60,9 +60,7 @@
     psMetadata *addprocessedimfileArgs = psMetadataAlloc();
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-exp_tag",  0,
-        "search by exposure ID", NULL);
-    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-class",  0,
-        "search by class", NULL);
+        "define exposure ID", NULL);
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
-        "search by class ID", NULL);
+        "define class ID", NULL);
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-exp_type",  0,
         "define exposure type", NULL);
@@ -102,6 +100,4 @@
     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-exp_tag",  0,
         "search by exposure ID", NULL);
-    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-class",  0,
-        "search by class", NULL);
     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
         "search by class ID", NULL);
@@ -117,6 +113,4 @@
     psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-exp_tag",  0,
         "search by exposure ID", NULL);
-    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-class",  0,
-        "search by class", NULL);
     psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
         "search by class ID", NULL);
@@ -148,4 +142,8 @@
     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-exp_type",  0,
         "define exposure type", NULL);
+    psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-filelevel",  0,
+        "define the data partitioning level of this file", NULL);
+    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-workdir",  0,
+        "define the \"default\" workdir for this exposure", NULL);
     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-filter",  0,
         "define filter ", NULL);
