Index: trunk/ippdb/Makefile.am
===================================================================
--- trunk/ippdb/Makefile.am	(revision 11988)
+++ trunk/ippdb/Makefile.am	(revision 12026)
@@ -21,13 +21,13 @@
     $(top_builddir)/docs/man/man3/rawExpRow.3 \
     $(top_builddir)/docs/man/man3/rawImfileRow.3 \
-    $(top_builddir)/docs/man/man3/p1PendingExpRow.3 \
-    $(top_builddir)/docs/man/man3/p2PendingExpRow.3 \
-    $(top_builddir)/docs/man/man3/p2PendingImfileRow.3 \
-    $(top_builddir)/docs/man/man3/p2ProcessedExpRow.3 \
-    $(top_builddir)/docs/man/man3/p2MaskRow.3 \
-    $(top_builddir)/docs/man/man3/p2ProcessedImfileRow.3 \
-    $(top_builddir)/docs/man/man3/p3PendingExpRow.3 \
-    $(top_builddir)/docs/man/man3/p3ProcessedExpRow.3 \
-    $(top_builddir)/docs/man/man3/p3MaskRow.3 \
+    $(top_builddir)/docs/man/man3/guidePendingExpRow.3 \
+    $(top_builddir)/docs/man/man3/chipPendingExpRow.3 \
+    $(top_builddir)/docs/man/man3/chipPendingImfileRow.3 \
+    $(top_builddir)/docs/man/man3/chipProcessedExpRow.3 \
+    $(top_builddir)/docs/man/man3/chipMaskRow.3 \
+    $(top_builddir)/docs/man/man3/chipProcessedImfileRow.3 \
+    $(top_builddir)/docs/man/man3/camPendingExpRow.3 \
+    $(top_builddir)/docs/man/man3/camProcessedExpRow.3 \
+    $(top_builddir)/docs/man/man3/camMaskRow.3 \
     $(top_builddir)/docs/man/man3/detRunRow.3 \
     $(top_builddir)/docs/man/man3/detInputExpRow.3 \
@@ -41,17 +41,17 @@
     $(top_builddir)/docs/man/man3/detResidExpRow.3 \
     $(top_builddir)/docs/man/man3/detRunSummaryRow.3 \
-    $(top_builddir)/docs/man/man3/p4RunRow.3 \
-    $(top_builddir)/docs/man/man3/p4InputExpRow.3 \
-    $(top_builddir)/docs/man/man3/p4SkyCellMapRow.3 \
-    $(top_builddir)/docs/man/man3/p4SkyfileRow.3 \
-    $(top_builddir)/docs/man/man3/p5RunRow.3 \
-    $(top_builddir)/docs/man/man3/p5InputSkyfileRow.3 \
-    $(top_builddir)/docs/man/man3/p5DiffSkyfileRow.3 \
-    $(top_builddir)/docs/man/man3/p6RunRow.3 \
-    $(top_builddir)/docs/man/man3/p6InputSkyfileRow.3 \
-    $(top_builddir)/docs/man/man3/p6SumSkyfileRow.3 
+    $(top_builddir)/docs/man/man3/warpRunRow.3 \
+    $(top_builddir)/docs/man/man3/warpInputExpRow.3 \
+    $(top_builddir)/docs/man/man3/warpSkyCellMapRow.3 \
+    $(top_builddir)/docs/man/man3/warpSkyfileRow.3 \
+    $(top_builddir)/docs/man/man3/diffRunRow.3 \
+    $(top_builddir)/docs/man/man3/diffInputSkyfileRow.3 \
+    $(top_builddir)/docs/man/man3/diffSkyfileRow.3 \
+    $(top_builddir)/docs/man/man3/stackRunRow.3 \
+    $(top_builddir)/docs/man/man3/stackInputSkyfileRow.3 \
+    $(top_builddir)/docs/man/man3/stackSumSkyfileRow.3 
 
 
-docs/man/man3/ippdb.3 docs/man/man3/expTagCounterRow.3 docs/man/man3/summitExpRow.3 docs/man/man3/summitImfileRow.3 docs/man/man3/pzPendingExpRow.3 docs/man/man3/pzPendingImfileRow.3 docs/man/man3/pzDoneExpRow.3 docs/man/man3/pzDoneImfileRow.3 docs/man/man3/newExpRow.3 docs/man/man3/newImfileRow.3 docs/man/man3/rawExpRow.3 docs/man/man3/rawImfileRow.3 docs/man/man3/p1PendingExpRow.3 docs/man/man3/p2PendingExpRow.3 docs/man/man3/p2PendingImfileRow.3 docs/man/man3/p2ProcessedExpRow.3 docs/man/man3/p2MaskRow.3 docs/man/man3/p2ProcessedImfileRow.3 docs/man/man3/p3PendingExpRow.3 docs/man/man3/p3ProcessedExpRow.3 docs/man/man3/p3MaskRow.3 docs/man/man3/detRunRow.3 docs/man/man3/detInputExpRow.3 docs/man/man3/detProcessedImfileRow.3 docs/man/man3/detProcessedExpRow.3 docs/man/man3/detStackedImfileRow.3 docs/man/man3/detNormalizedStatImfileRow.3 docs/man/man3/detNormalizedImfileRow.3 docs/man/man3/detNormalizedExpRow.3 docs/man/man3/detResidImfileRow.3 docs/man/man3/detResidExpRow.3 docs/man/man3/detRunSummaryRow.3 docs/man/man3/p4RunRow.3 docs/man/man3/p4InputExpRow.3 docs/man/man3/p4SkyCellMapRow.3 docs/man/man3/p4SkyfileRow.3 docs/man/man3/p5RunRow.3 docs/man/man3/p5InputSkyfileRow.3 docs/man/man3/p5DiffSkyfileRow.3 docs/man/man3/p6RunRow.3 docs/man/man3/p6InputSkyfileRow.3 docs/man/man3/p6SumSkyfileRow.3:
+docs/man/man3/ippdb.3 docs/man/man3/expTagCounterRow.3 docs/man/man3/summitExpRow.3 docs/man/man3/summitImfileRow.3 docs/man/man3/pzPendingExpRow.3 docs/man/man3/pzPendingImfileRow.3 docs/man/man3/pzDoneExpRow.3 docs/man/man3/pzDoneImfileRow.3 docs/man/man3/newExpRow.3 docs/man/man3/newImfileRow.3 docs/man/man3/rawExpRow.3 docs/man/man3/rawImfileRow.3 docs/man/man3/guidePendingExpRow.3 docs/man/man3/chipPendingExpRow.3 docs/man/man3/chipPendingImfileRow.3 docs/man/man3/chipProcessedExpRow.3 docs/man/man3/chipMaskRow.3 docs/man/man3/chipProcessedImfileRow.3 docs/man/man3/camPendingExpRow.3 docs/man/man3/camProcessedExpRow.3 docs/man/man3/camMaskRow.3 docs/man/man3/detRunRow.3 docs/man/man3/detInputExpRow.3 docs/man/man3/detProcessedImfileRow.3 docs/man/man3/detProcessedExpRow.3 docs/man/man3/detStackedImfileRow.3 docs/man/man3/detNormalizedStatImfileRow.3 docs/man/man3/detNormalizedImfileRow.3 docs/man/man3/detNormalizedExpRow.3 docs/man/man3/detResidImfileRow.3 docs/man/man3/detResidExpRow.3 docs/man/man3/detRunSummaryRow.3 docs/man/man3/warpRunRow.3 docs/man/man3/warpInputExpRow.3 docs/man/man3/warpSkyCellMapRow.3 docs/man/man3/warpSkyfileRow.3 docs/man/man3/diffRunRow.3 docs/man/man3/diffInputSkyfileRow.3 docs/man/man3/diffSkyfileRow.3 docs/man/man3/stackRunRow.3 docs/man/man3/stackInputSkyfileRow.3 docs/man/man3/stackSumSkyfileRow.3:
 	$(DOXYGEN)
 
Index: trunk/ippdb/configure.ac
===================================================================
--- trunk/ippdb/configure.ac	(revision 11988)
+++ trunk/ippdb/configure.ac	(revision 12026)
@@ -7,5 +7,5 @@
 AC_PREREQ(2.59)
 
-AC_INIT([ippdb], [1.1.10], [pan-starrs.ifa.hawaii.edu])
+AC_INIT([ippdb], [1.1.11], [pan-starrs.ifa.hawaii.edu])
 AC_CONFIG_SRCDIR([ippdb.pc.in])
 
Index: trunk/ippdb/src/ippdb.c
===================================================================
--- trunk/ippdb/src/ippdb.c	(revision 11988)
+++ trunk/ippdb/src/ippdb.c	(revision 12026)
@@ -42,13 +42,13 @@
 #define RAWEXP_TABLE_NAME "rawExp"
 #define RAWIMFILE_TABLE_NAME "rawImfile"
-#define P1PENDINGEXP_TABLE_NAME "p1PendingExp"
-#define P2PENDINGEXP_TABLE_NAME "p2PendingExp"
-#define P2PENDINGIMFILE_TABLE_NAME "p2PendingImfile"
-#define P2PROCESSEDEXP_TABLE_NAME "p2ProcessedExp"
-#define P2MASK_TABLE_NAME "p2Mask"
-#define P2PROCESSEDIMFILE_TABLE_NAME "p2ProcessedImfile"
-#define P3PENDINGEXP_TABLE_NAME "p3PendingExp"
-#define P3PROCESSEDEXP_TABLE_NAME "p3ProcessedExp"
-#define P3MASK_TABLE_NAME "p3Mask"
+#define GUIDEPENDINGEXP_TABLE_NAME "guidePendingExp"
+#define CHIPPENDINGEXP_TABLE_NAME "chipPendingExp"
+#define CHIPPENDINGIMFILE_TABLE_NAME "chipPendingImfile"
+#define CHIPPROCESSEDEXP_TABLE_NAME "chipProcessedExp"
+#define CHIPMASK_TABLE_NAME "chipMask"
+#define CHIPPROCESSEDIMFILE_TABLE_NAME "chipProcessedImfile"
+#define CAMPENDINGEXP_TABLE_NAME "camPendingExp"
+#define CAMPROCESSEDEXP_TABLE_NAME "camProcessedExp"
+#define CAMMASK_TABLE_NAME "camMask"
 #define DETRUN_TABLE_NAME "detRun"
 #define DETINPUTEXP_TABLE_NAME "detInputExp"
@@ -62,14 +62,14 @@
 #define DETRESIDEXP_TABLE_NAME "detResidExp"
 #define DETRUNSUMMARY_TABLE_NAME "detRunSummary"
-#define P4RUN_TABLE_NAME "p4Run"
-#define P4INPUTEXP_TABLE_NAME "p4InputExp"
-#define P4SKYCELLMAP_TABLE_NAME "p4SkyCellMap"
-#define P4SKYFILE_TABLE_NAME "p4Skyfile"
-#define P5RUN_TABLE_NAME "p5Run"
-#define P5INPUTSKYFILE_TABLE_NAME "p5InputSkyfile"
-#define P5DIFFSKYFILE_TABLE_NAME "p5DiffSkyfile"
-#define P6RUN_TABLE_NAME "p6Run"
-#define P6INPUTSKYFILE_TABLE_NAME "p6InputSkyfile"
-#define P6SUMSKYFILE_TABLE_NAME "p6SumSkyfile"
+#define WARPRUN_TABLE_NAME "warpRun"
+#define WARPINPUTEXP_TABLE_NAME "warpInputExp"
+#define WARPSKYCELLMAP_TABLE_NAME "warpSkyCellMap"
+#define WARPSKYFILE_TABLE_NAME "warpSkyfile"
+#define DIFFRUN_TABLE_NAME "diffRun"
+#define DIFFINPUTSKYFILE_TABLE_NAME "diffInputSkyfile"
+#define DIFFSKYFILE_TABLE_NAME "diffSkyfile"
+#define STACKRUN_TABLE_NAME "stackRun"
+#define STACKINPUTSKYFILE_TABLE_NAME "stackInputSkyfile"
+#define STACKSUMSKYFILE_TABLE_NAME "stackSumSkyfile"
 #define MAX_STRING_LENGTH 1024
 
@@ -4948,15 +4948,15 @@
     return true;
 }
-static void p1PendingExpRowFree(p1PendingExpRow *object);
-
-p1PendingExpRow *p1PendingExpRowAlloc(const char *exp_tag, psS32 p1_version, const char *recipe)
-{
-    p1PendingExpRow *_object;
-
-    _object = psAlloc(sizeof(p1PendingExpRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p1PendingExpRowFree);
+static void guidePendingExpRowFree(guidePendingExpRow *object);
+
+guidePendingExpRow *guidePendingExpRowAlloc(const char *exp_tag, psS32 guide_version, const char *recipe)
+{
+    guidePendingExpRow *_object;
+
+    _object = psAlloc(sizeof(guidePendingExpRow));
+    psMemSetDeallocator(_object, (psFreeFunc)guidePendingExpRowFree);
 
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->p1_version = p1_version;
+    _object->guide_version = guide_version;
     _object->recipe = psStringCopy(recipe);
 
@@ -4964,5 +4964,5 @@
 }
 
-static void p1PendingExpRowFree(p1PendingExpRow *object)
+static void guidePendingExpRowFree(guidePendingExpRow *object)
 {
     psFree(object->exp_tag);
@@ -4970,5 +4970,5 @@
 }
 
-bool p1PendingExpCreateTable(psDB *dbh)
+bool guidePendingExpCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
@@ -4978,6 +4978,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -4989,5 +4989,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P1PENDINGEXP_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, GUIDEPENDINGEXP_TABLE_NAME, md);
 
     psFree(md);
@@ -4996,10 +4996,10 @@
 }
 
-bool p1PendingExpDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P1PENDINGEXP_TABLE_NAME);
-}
-
-bool p1PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p1_version, const char *recipe)
+bool guidePendingExpDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, GUIDEPENDINGEXP_TABLE_NAME);
+}
+
+bool guidePendingExpInsert(psDB * dbh, const char *exp_tag, psS32 guide_version, const char *recipe)
 {
     psMetadata *md = psMetadataAlloc();
@@ -5009,6 +5009,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -5020,5 +5020,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P1PENDINGEXP_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, GUIDEPENDINGEXP_TABLE_NAME, md);
     psFree(md);
 
@@ -5026,11 +5026,11 @@
 }
 
-long long p1PendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long guidePendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P1PENDINGEXP_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p1PendingExp");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from guidePendingExp");
         return count;
 
@@ -5040,13 +5040,13 @@
     return deleted;
 }
-bool p1PendingExpInsertObject(psDB *dbh, p1PendingExpRow *object)
-{
-    return p1PendingExpInsert(dbh, object->exp_tag, object->p1_version, object->recipe);
-}
-
-bool p1PendingExpInsertObjects(psDB *dbh, psArray *objects)
+bool guidePendingExpInsertObject(psDB *dbh, guidePendingExpRow *object)
+{
+    return guidePendingExpInsert(dbh, object->exp_tag, object->guide_version, object->recipe);
+}
+
+bool guidePendingExpInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p1PendingExpInsertObject(dbh, objects->data[i])) {
+        if (!guidePendingExpInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -5056,11 +5056,11 @@
 }
 
-bool p1PendingExpInsertFits(psDB *dbh, const psFits *fits)
+bool guidePendingExpInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P1PENDINGEXP_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P1PENDINGEXP_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P1PENDINGEXP_TABLE_NAME);
+    // move to (the first?) extension named  GUIDEPENDINGEXP_TABLE_NAME
+    if (!psFitsMoveExtName(fits, GUIDEPENDINGEXP_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", GUIDEPENDINGEXP_TABLE_NAME);
         return false;
     }
@@ -5080,5 +5080,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P1PENDINGEXP_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -5091,9 +5091,9 @@
 }
 
-bool p1PendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool guidePendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P1PENDINGEXP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -5101,5 +5101,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P1PENDINGEXP_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, GUIDEPENDINGEXP_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -5112,5 +5112,5 @@
 }
 
-psMetadata *p1PendingExpMetadataFromObject(const p1PendingExpRow *object)
+psMetadata *guidePendingExpMetadataFromObject(const guidePendingExpRow *object)
 {
     psMetadata *md = psMetadataAlloc();
@@ -5120,6 +5120,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -5135,5 +5135,5 @@
 }
 
-p1PendingExpRow *p1PendingExpObjectFromMetadata(psMetadata *md)
+guidePendingExpRow *guidePendingExpObjectFromMetadata(psMetadata *md)
 {
 
@@ -5144,7 +5144,7 @@
         return false;
     }
-    psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
+    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
         return false;
     }
@@ -5155,7 +5155,7 @@
     }
 
-    return p1PendingExpRowAlloc(exp_tag, p1_version, recipe);
-}
-psArray *p1PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return guidePendingExpRowAlloc(exp_tag, guide_version, recipe);
+}
+psArray *guidePendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -5163,5 +5163,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P1PENDINGEXP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -5173,5 +5173,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p1PendingExpRow *object = p1PendingExpObjectFromMetadata(rowSet->data[i]);
+        guidePendingExpRow *object = guidePendingExpObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -5182,11 +5182,11 @@
     return returnSet;
 }
-bool p1PendingExpDeleteObject(psDB *dbh, const p1PendingExpRow *object)
-{
-    psMetadata *where = p1PendingExpMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P1PENDINGEXP_TABLE_NAME, where, 0);
+bool guidePendingExpDeleteObject(psDB *dbh, const guidePendingExpRow *object)
+{
+    psMetadata *where = guidePendingExpMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p1PendingExp");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from guidePendingExp");
         return false;
     }
@@ -5194,21 +5194,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p1PendingExpRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p1PendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "guidePendingExpRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long guidePendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p1PendingExpRow *object = objects->data[i];
-        psMetadata *where = p1PendingExpMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P1PENDINGEXP_TABLE_NAME, where, limit);
+        guidePendingExpRow *object = objects->data[i];
+        psMetadata *where = guidePendingExpMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p1PendingExp");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from guidePendingExp");
             return count;
         }
@@ -5219,5 +5219,5 @@
     return deleted;
 }
-bool p1PendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool guidePendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -5225,9 +5225,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p1PendingExpMetadataFromObject(objects->data[i]);
+        psMetadata *md = guidePendingExpMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P1PENDINGEXP_TABLE_NAME,
+            GUIDEPENDINGEXP_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -5250,9 +5250,9 @@
     return true;
 }
-bool p1PendingExpPrintObject(FILE *stream, p1PendingExpRow *object, bool mdcf)
+bool guidePendingExpPrintObject(FILE *stream, guidePendingExpRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p1PendingExpMetadataFromObject(object);
+    psMetadata *md = guidePendingExpMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -5265,16 +5265,16 @@
     return true;
 }
-static void p2PendingExpRowFree(p2PendingExpRow *object);
-
-p2PendingExpRow *p2PendingExpRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb)
-{
-    p2PendingExpRow *_object;
-
-    _object = psAlloc(sizeof(p2PendingExpRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p2PendingExpRowFree);
+static void chipPendingExpRowFree(chipPendingExpRow *object);
+
+chipPendingExpRow *chipPendingExpRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb)
+{
+    chipPendingExpRow *_object;
+
+    _object = psAlloc(sizeof(chipPendingExpRow));
+    psMemSetDeallocator(_object, (psFreeFunc)chipPendingExpRowFree);
 
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->p2_version = p2_version;
-    _object->p1_version = p1_version;
+    _object->chip_version = chip_version;
+    _object->guide_version = guide_version;
     _object->label = psStringCopy(label);
     _object->recipe = psStringCopy(recipe);
@@ -5285,5 +5285,5 @@
 }
 
-static void p2PendingExpRowFree(p2PendingExpRow *object)
+static void chipPendingExpRowFree(chipPendingExpRow *object)
 {
     psFree(object->exp_tag);
@@ -5294,5 +5294,5 @@
 }
 
-bool p2PendingExpCreateTable(psDB *dbh)
+bool chipPendingExpCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
@@ -5302,11 +5302,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -5333,5 +5333,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P2PENDINGEXP_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, CHIPPENDINGEXP_TABLE_NAME, md);
 
     psFree(md);
@@ -5340,10 +5340,10 @@
 }
 
-bool p2PendingExpDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P2PENDINGEXP_TABLE_NAME);
-}
-
-bool p2PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb)
+bool chipPendingExpDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, CHIPPENDINGEXP_TABLE_NAME);
+}
+
+bool chipPendingExpInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb)
 {
     psMetadata *md = psMetadataAlloc();
@@ -5353,11 +5353,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -5384,5 +5384,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P2PENDINGEXP_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, CHIPPENDINGEXP_TABLE_NAME, md);
     psFree(md);
 
@@ -5390,11 +5390,11 @@
 }
 
-long long p2PendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long chipPendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P2PENDINGEXP_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingExp");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingExp");
         return count;
 
@@ -5404,13 +5404,13 @@
     return deleted;
 }
-bool p2PendingExpInsertObject(psDB *dbh, p2PendingExpRow *object)
-{
-    return p2PendingExpInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->label, object->recipe, object->expgroup, object->dvodb);
-}
-
-bool p2PendingExpInsertObjects(psDB *dbh, psArray *objects)
+bool chipPendingExpInsertObject(psDB *dbh, chipPendingExpRow *object)
+{
+    return chipPendingExpInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->label, object->recipe, object->expgroup, object->dvodb);
+}
+
+bool chipPendingExpInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p2PendingExpInsertObject(dbh, objects->data[i])) {
+        if (!chipPendingExpInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -5420,11 +5420,11 @@
 }
 
-bool p2PendingExpInsertFits(psDB *dbh, const psFits *fits)
+bool chipPendingExpInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P2PENDINGEXP_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P2PENDINGEXP_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PENDINGEXP_TABLE_NAME);
+    // move to (the first?) extension named  CHIPPENDINGEXP_TABLE_NAME
+    if (!psFitsMoveExtName(fits, CHIPPENDINGEXP_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPPENDINGEXP_TABLE_NAME);
         return false;
     }
@@ -5444,5 +5444,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P2PENDINGEXP_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, CHIPPENDINGEXP_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -5455,9 +5455,9 @@
 }
 
-bool p2PendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool chipPendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P2PENDINGEXP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -5465,5 +5465,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P2PENDINGEXP_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, CHIPPENDINGEXP_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -5476,5 +5476,5 @@
 }
 
-psMetadata *p2PendingExpMetadataFromObject(const p2PendingExpRow *object)
+psMetadata *chipPendingExpMetadataFromObject(const chipPendingExpRow *object)
 {
     psMetadata *md = psMetadataAlloc();
@@ -5484,11 +5484,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -5519,5 +5519,5 @@
 }
 
-p2PendingExpRow *p2PendingExpObjectFromMetadata(psMetadata *md)
+chipPendingExpRow *chipPendingExpObjectFromMetadata(psMetadata *md)
 {
 
@@ -5528,12 +5528,12 @@
         return false;
     }
-    psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
-        return false;
-    }
-    psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
+    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
+        return false;
+    }
+    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
         return false;
     }
@@ -5559,7 +5559,7 @@
     }
 
-    return p2PendingExpRowAlloc(exp_tag, p2_version, p1_version, label, recipe, expgroup, dvodb);
-}
-psArray *p2PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return chipPendingExpRowAlloc(exp_tag, chip_version, guide_version, label, recipe, expgroup, dvodb);
+}
+psArray *chipPendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -5567,5 +5567,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P2PENDINGEXP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -5577,5 +5577,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p2PendingExpRow *object = p2PendingExpObjectFromMetadata(rowSet->data[i]);
+        chipPendingExpRow *object = chipPendingExpObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -5586,11 +5586,11 @@
     return returnSet;
 }
-bool p2PendingExpDeleteObject(psDB *dbh, const p2PendingExpRow *object)
-{
-    psMetadata *where = p2PendingExpMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P2PENDINGEXP_TABLE_NAME, where, 0);
+bool chipPendingExpDeleteObject(psDB *dbh, const chipPendingExpRow *object)
+{
+    psMetadata *where = chipPendingExpMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingExp");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingExp");
         return false;
     }
@@ -5598,21 +5598,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p2PendingExpRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p2PendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "chipPendingExpRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long chipPendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p2PendingExpRow *object = objects->data[i];
-        psMetadata *where = p2PendingExpMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P2PENDINGEXP_TABLE_NAME, where, limit);
+        chipPendingExpRow *object = objects->data[i];
+        psMetadata *where = chipPendingExpMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingExp");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingExp");
             return count;
         }
@@ -5623,5 +5623,5 @@
     return deleted;
 }
-bool p2PendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool chipPendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -5629,9 +5629,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p2PendingExpMetadataFromObject(objects->data[i]);
+        psMetadata *md = chipPendingExpMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P2PENDINGEXP_TABLE_NAME,
+            CHIPPENDINGEXP_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -5654,9 +5654,9 @@
     return true;
 }
-bool p2PendingExpPrintObject(FILE *stream, p2PendingExpRow *object, bool mdcf)
+bool chipPendingExpPrintObject(FILE *stream, chipPendingExpRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p2PendingExpMetadataFromObject(object);
+    psMetadata *md = chipPendingExpMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -5669,16 +5669,16 @@
     return true;
 }
-static void p2PendingImfileRowFree(p2PendingImfileRow *object);
-
-p2PendingImfileRow *p2PendingImfileRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri)
-{
-    p2PendingImfileRow *_object;
-
-    _object = psAlloc(sizeof(p2PendingImfileRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p2PendingImfileRowFree);
+static void chipPendingImfileRowFree(chipPendingImfileRow *object);
+
+chipPendingImfileRow *chipPendingImfileRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri)
+{
+    chipPendingImfileRow *_object;
+
+    _object = psAlloc(sizeof(chipPendingImfileRow));
+    psMemSetDeallocator(_object, (psFreeFunc)chipPendingImfileRowFree);
 
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->p2_version = p2_version;
-    _object->p1_version = p1_version;
+    _object->chip_version = chip_version;
+    _object->guide_version = guide_version;
     _object->class_id = psStringCopy(class_id);
     _object->recipe = psStringCopy(recipe);
@@ -5688,5 +5688,5 @@
 }
 
-static void p2PendingImfileRowFree(p2PendingImfileRow *object)
+static void chipPendingImfileRowFree(chipPendingImfileRow *object)
 {
     psFree(object->exp_tag);
@@ -5696,5 +5696,5 @@
 }
 
-bool p2PendingImfileCreateTable(psDB *dbh)
+bool chipPendingImfileCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
@@ -5704,11 +5704,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -5730,5 +5730,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P2PENDINGIMFILE_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, CHIPPENDINGIMFILE_TABLE_NAME, md);
 
     psFree(md);
@@ -5737,10 +5737,10 @@
 }
 
-bool p2PendingImfileDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P2PENDINGIMFILE_TABLE_NAME);
-}
-
-bool p2PendingImfileInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri)
+bool chipPendingImfileDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, CHIPPENDINGIMFILE_TABLE_NAME);
+}
+
+bool chipPendingImfileInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri)
 {
     psMetadata *md = psMetadataAlloc();
@@ -5750,11 +5750,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -5776,5 +5776,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P2PENDINGIMFILE_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, CHIPPENDINGIMFILE_TABLE_NAME, md);
     psFree(md);
 
@@ -5782,11 +5782,11 @@
 }
 
-long long p2PendingImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long chipPendingImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingImfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingImfile");
         return count;
 
@@ -5796,13 +5796,13 @@
     return deleted;
 }
-bool p2PendingImfileInsertObject(psDB *dbh, p2PendingImfileRow *object)
-{
-    return p2PendingImfileInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->class_id, object->recipe, object->uri);
-}
-
-bool p2PendingImfileInsertObjects(psDB *dbh, psArray *objects)
+bool chipPendingImfileInsertObject(psDB *dbh, chipPendingImfileRow *object)
+{
+    return chipPendingImfileInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->class_id, object->recipe, object->uri);
+}
+
+bool chipPendingImfileInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p2PendingImfileInsertObject(dbh, objects->data[i])) {
+        if (!chipPendingImfileInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -5812,11 +5812,11 @@
 }
 
-bool p2PendingImfileInsertFits(psDB *dbh, const psFits *fits)
+bool chipPendingImfileInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P2PENDINGIMFILE_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P2PENDINGIMFILE_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PENDINGIMFILE_TABLE_NAME);
+    // move to (the first?) extension named  CHIPPENDINGIMFILE_TABLE_NAME
+    if (!psFitsMoveExtName(fits, CHIPPENDINGIMFILE_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPPENDINGIMFILE_TABLE_NAME);
         return false;
     }
@@ -5836,5 +5836,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P2PENDINGIMFILE_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -5847,9 +5847,9 @@
 }
 
-bool p2PendingImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool chipPendingImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -5857,5 +5857,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P2PENDINGIMFILE_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, CHIPPENDINGIMFILE_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -5868,5 +5868,5 @@
 }
 
-psMetadata *p2PendingImfileMetadataFromObject(const p2PendingImfileRow *object)
+psMetadata *chipPendingImfileMetadataFromObject(const chipPendingImfileRow *object)
 {
     psMetadata *md = psMetadataAlloc();
@@ -5876,11 +5876,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -5906,5 +5906,5 @@
 }
 
-p2PendingImfileRow *p2PendingImfileObjectFromMetadata(psMetadata *md)
+chipPendingImfileRow *chipPendingImfileObjectFromMetadata(psMetadata *md)
 {
 
@@ -5915,12 +5915,12 @@
         return false;
     }
-    psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
-        return false;
-    }
-    psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
+    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
+        return false;
+    }
+    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
         return false;
     }
@@ -5941,7 +5941,7 @@
     }
 
-    return p2PendingImfileRowAlloc(exp_tag, p2_version, p1_version, class_id, recipe, uri);
-}
-psArray *p2PendingImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return chipPendingImfileRowAlloc(exp_tag, chip_version, guide_version, class_id, recipe, uri);
+}
+psArray *chipPendingImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -5949,5 +5949,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -5959,5 +5959,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p2PendingImfileRow *object = p2PendingImfileObjectFromMetadata(rowSet->data[i]);
+        chipPendingImfileRow *object = chipPendingImfileObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -5968,11 +5968,11 @@
     return returnSet;
 }
-bool p2PendingImfileDeleteObject(psDB *dbh, const p2PendingImfileRow *object)
-{
-    psMetadata *where = p2PendingImfileMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, 0);
+bool chipPendingImfileDeleteObject(psDB *dbh, const chipPendingImfileRow *object)
+{
+    psMetadata *where = chipPendingImfileMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingImfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingImfile");
         return false;
     }
@@ -5980,21 +5980,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p2PendingImfileRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p2PendingImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "chipPendingImfileRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long chipPendingImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p2PendingImfileRow *object = objects->data[i];
-        psMetadata *where = p2PendingImfileMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, limit);
+        chipPendingImfileRow *object = objects->data[i];
+        psMetadata *where = chipPendingImfileMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingImfile");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingImfile");
             return count;
         }
@@ -6005,5 +6005,5 @@
     return deleted;
 }
-bool p2PendingImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool chipPendingImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -6011,9 +6011,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p2PendingImfileMetadataFromObject(objects->data[i]);
+        psMetadata *md = chipPendingImfileMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P2PENDINGIMFILE_TABLE_NAME,
+            CHIPPENDINGIMFILE_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -6036,9 +6036,9 @@
     return true;
 }
-bool p2PendingImfilePrintObject(FILE *stream, p2PendingImfileRow *object, bool mdcf)
+bool chipPendingImfilePrintObject(FILE *stream, chipPendingImfileRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p2PendingImfileMetadataFromObject(object);
+    psMetadata *md = chipPendingImfileMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -6051,16 +6051,16 @@
     return true;
 }
-static void p2ProcessedExpRowFree(p2ProcessedExpRow *object);
-
-p2ProcessedExpRow *p2ProcessedExpRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *expgroup, const char *dvodb)
-{
-    p2ProcessedExpRow *_object;
-
-    _object = psAlloc(sizeof(p2ProcessedExpRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p2ProcessedExpRowFree);
+static void chipProcessedExpRowFree(chipProcessedExpRow *object);
+
+chipProcessedExpRow *chipProcessedExpRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *expgroup, const char *dvodb)
+{
+    chipProcessedExpRow *_object;
+
+    _object = psAlloc(sizeof(chipProcessedExpRow));
+    psMemSetDeallocator(_object, (psFreeFunc)chipProcessedExpRowFree);
 
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->p2_version = p2_version;
-    _object->p1_version = p1_version;
+    _object->chip_version = chip_version;
+    _object->guide_version = guide_version;
     _object->label = psStringCopy(label);
     _object->expgroup = psStringCopy(expgroup);
@@ -6070,5 +6070,5 @@
 }
 
-static void p2ProcessedExpRowFree(p2ProcessedExpRow *object)
+static void chipProcessedExpRowFree(chipProcessedExpRow *object)
 {
     psFree(object->exp_tag);
@@ -6078,5 +6078,5 @@
 }
 
-bool p2ProcessedExpCreateTable(psDB *dbh)
+bool chipProcessedExpCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
@@ -6086,11 +6086,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -6112,5 +6112,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P2PROCESSEDEXP_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, CHIPPROCESSEDEXP_TABLE_NAME, md);
 
     psFree(md);
@@ -6119,10 +6119,10 @@
 }
 
-bool p2ProcessedExpDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P2PROCESSEDEXP_TABLE_NAME);
-}
-
-bool p2ProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *expgroup, const char *dvodb)
+bool chipProcessedExpDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, CHIPPROCESSEDEXP_TABLE_NAME);
+}
+
+bool chipProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *expgroup, const char *dvodb)
 {
     psMetadata *md = psMetadataAlloc();
@@ -6132,11 +6132,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -6158,5 +6158,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P2PROCESSEDEXP_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, CHIPPROCESSEDEXP_TABLE_NAME, md);
     psFree(md);
 
@@ -6164,11 +6164,11 @@
 }
 
-long long p2ProcessedExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long chipProcessedExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedExp");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedExp");
         return count;
 
@@ -6178,13 +6178,13 @@
     return deleted;
 }
-bool p2ProcessedExpInsertObject(psDB *dbh, p2ProcessedExpRow *object)
-{
-    return p2ProcessedExpInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->label, object->expgroup, object->dvodb);
-}
-
-bool p2ProcessedExpInsertObjects(psDB *dbh, psArray *objects)
+bool chipProcessedExpInsertObject(psDB *dbh, chipProcessedExpRow *object)
+{
+    return chipProcessedExpInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->label, object->expgroup, object->dvodb);
+}
+
+bool chipProcessedExpInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p2ProcessedExpInsertObject(dbh, objects->data[i])) {
+        if (!chipProcessedExpInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -6194,11 +6194,11 @@
 }
 
-bool p2ProcessedExpInsertFits(psDB *dbh, const psFits *fits)
+bool chipProcessedExpInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P2PROCESSEDEXP_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P2PROCESSEDEXP_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PROCESSEDEXP_TABLE_NAME);
+    // move to (the first?) extension named  CHIPPROCESSEDEXP_TABLE_NAME
+    if (!psFitsMoveExtName(fits, CHIPPROCESSEDEXP_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPPROCESSEDEXP_TABLE_NAME);
         return false;
     }
@@ -6218,5 +6218,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P2PROCESSEDEXP_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -6229,9 +6229,9 @@
 }
 
-bool p2ProcessedExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool chipProcessedExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -6239,5 +6239,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P2PROCESSEDEXP_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, CHIPPROCESSEDEXP_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -6250,5 +6250,5 @@
 }
 
-psMetadata *p2ProcessedExpMetadataFromObject(const p2ProcessedExpRow *object)
+psMetadata *chipProcessedExpMetadataFromObject(const chipProcessedExpRow *object)
 {
     psMetadata *md = psMetadataAlloc();
@@ -6258,11 +6258,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -6288,5 +6288,5 @@
 }
 
-p2ProcessedExpRow *p2ProcessedExpObjectFromMetadata(psMetadata *md)
+chipProcessedExpRow *chipProcessedExpObjectFromMetadata(psMetadata *md)
 {
 
@@ -6297,12 +6297,12 @@
         return false;
     }
-    psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
-        return false;
-    }
-    psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
+    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
+        return false;
+    }
+    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
         return false;
     }
@@ -6323,7 +6323,7 @@
     }
 
-    return p2ProcessedExpRowAlloc(exp_tag, p2_version, p1_version, label, expgroup, dvodb);
-}
-psArray *p2ProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return chipProcessedExpRowAlloc(exp_tag, chip_version, guide_version, label, expgroup, dvodb);
+}
+psArray *chipProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -6331,5 +6331,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -6341,5 +6341,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p2ProcessedExpRow *object = p2ProcessedExpObjectFromMetadata(rowSet->data[i]);
+        chipProcessedExpRow *object = chipProcessedExpObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -6350,11 +6350,11 @@
     return returnSet;
 }
-bool p2ProcessedExpDeleteObject(psDB *dbh, const p2ProcessedExpRow *object)
-{
-    psMetadata *where = p2ProcessedExpMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, 0);
+bool chipProcessedExpDeleteObject(psDB *dbh, const chipProcessedExpRow *object)
+{
+    psMetadata *where = chipProcessedExpMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedExp");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedExp");
         return false;
     }
@@ -6362,21 +6362,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p2ProcessedExpRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p2ProcessedExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "chipProcessedExpRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long chipProcessedExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p2ProcessedExpRow *object = objects->data[i];
-        psMetadata *where = p2ProcessedExpMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit);
+        chipProcessedExpRow *object = objects->data[i];
+        psMetadata *where = chipProcessedExpMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedExp");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedExp");
             return count;
         }
@@ -6387,5 +6387,5 @@
     return deleted;
 }
-bool p2ProcessedExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool chipProcessedExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -6393,9 +6393,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p2ProcessedExpMetadataFromObject(objects->data[i]);
+        psMetadata *md = chipProcessedExpMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P2PROCESSEDEXP_TABLE_NAME,
+            CHIPPROCESSEDEXP_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -6418,9 +6418,9 @@
     return true;
 }
-bool p2ProcessedExpPrintObject(FILE *stream, p2ProcessedExpRow *object, bool mdcf)
+bool chipProcessedExpPrintObject(FILE *stream, chipProcessedExpRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p2ProcessedExpMetadataFromObject(object);
+    psMetadata *md = chipProcessedExpMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -6433,12 +6433,12 @@
     return true;
 }
-static void p2MaskRowFree(p2MaskRow *object);
-
-p2MaskRow *p2MaskRowAlloc(const char *label)
-{
-    p2MaskRow       *_object;
-
-    _object = psAlloc(sizeof(p2MaskRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p2MaskRowFree);
+static void chipMaskRowFree(chipMaskRow *object);
+
+chipMaskRow *chipMaskRowAlloc(const char *label)
+{
+    chipMaskRow     *_object;
+
+    _object = psAlloc(sizeof(chipMaskRow));
+    psMemSetDeallocator(_object, (psFreeFunc)chipMaskRowFree);
 
     _object->label = psStringCopy(label);
@@ -6447,10 +6447,10 @@
 }
 
-static void p2MaskRowFree(p2MaskRow *object)
+static void chipMaskRowFree(chipMaskRow *object)
 {
     psFree(object->label);
 }
 
-bool p2MaskCreateTable(psDB *dbh)
+bool chipMaskCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
@@ -6461,5 +6461,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P2MASK_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, CHIPMASK_TABLE_NAME, md);
 
     psFree(md);
@@ -6468,10 +6468,10 @@
 }
 
-bool p2MaskDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P2MASK_TABLE_NAME);
-}
-
-bool p2MaskInsert(psDB * dbh, const char *label)
+bool chipMaskDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, CHIPMASK_TABLE_NAME);
+}
+
+bool chipMaskInsert(psDB * dbh, const char *label)
 {
     psMetadata *md = psMetadataAlloc();
@@ -6482,5 +6482,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P2MASK_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, CHIPMASK_TABLE_NAME, md);
     psFree(md);
 
@@ -6488,11 +6488,11 @@
 }
 
-long long p2MaskDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long chipMaskDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P2MASK_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, CHIPMASK_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2Mask");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipMask");
         return count;
 
@@ -6502,13 +6502,13 @@
     return deleted;
 }
-bool p2MaskInsertObject(psDB *dbh, p2MaskRow *object)
-{
-    return p2MaskInsert(dbh, object->label);
-}
-
-bool p2MaskInsertObjects(psDB *dbh, psArray *objects)
+bool chipMaskInsertObject(psDB *dbh, chipMaskRow *object)
+{
+    return chipMaskInsert(dbh, object->label);
+}
+
+bool chipMaskInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p2MaskInsertObject(dbh, objects->data[i])) {
+        if (!chipMaskInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -6518,11 +6518,11 @@
 }
 
-bool p2MaskInsertFits(psDB *dbh, const psFits *fits)
+bool chipMaskInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P2MASK_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P2MASK_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2MASK_TABLE_NAME);
+    // move to (the first?) extension named  CHIPMASK_TABLE_NAME
+    if (!psFitsMoveExtName(fits, CHIPMASK_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPMASK_TABLE_NAME);
         return false;
     }
@@ -6542,5 +6542,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P2MASK_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, CHIPMASK_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -6553,9 +6553,9 @@
 }
 
-bool p2MaskSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool chipMaskSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P2MASK_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CHIPMASK_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -6563,5 +6563,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P2MASK_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, CHIPMASK_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -6574,5 +6574,5 @@
 }
 
-psMetadata *p2MaskMetadataFromObject(const p2MaskRow *object)
+psMetadata *chipMaskMetadataFromObject(const chipMaskRow *object)
 {
     psMetadata *md = psMetadataAlloc();
@@ -6587,5 +6587,5 @@
 }
 
-p2MaskRow *p2MaskObjectFromMetadata(psMetadata *md)
+chipMaskRow *chipMaskObjectFromMetadata(psMetadata *md)
 {
 
@@ -6597,7 +6597,7 @@
     }
 
-    return p2MaskRowAlloc(label);
-}
-psArray *p2MaskSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return chipMaskRowAlloc(label);
+}
+psArray *chipMaskSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -6605,5 +6605,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P2MASK_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CHIPMASK_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -6615,5 +6615,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p2MaskRow *object = p2MaskObjectFromMetadata(rowSet->data[i]);
+        chipMaskRow *object = chipMaskObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -6624,11 +6624,11 @@
     return returnSet;
 }
-bool p2MaskDeleteObject(psDB *dbh, const p2MaskRow *object)
-{
-    psMetadata *where = p2MaskMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P2MASK_TABLE_NAME, where, 0);
+bool chipMaskDeleteObject(psDB *dbh, const chipMaskRow *object)
+{
+    psMetadata *where = chipMaskMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, CHIPMASK_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2Mask");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipMask");
         return false;
     }
@@ -6636,21 +6636,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p2MaskRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p2MaskDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "chipMaskRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long chipMaskDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p2MaskRow *object = objects->data[i];
-        psMetadata *where = p2MaskMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P2MASK_TABLE_NAME, where, limit);
+        chipMaskRow *object = objects->data[i];
+        psMetadata *where = chipMaskMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, CHIPMASK_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2Mask");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipMask");
             return count;
         }
@@ -6661,5 +6661,5 @@
     return deleted;
 }
-bool p2MaskPrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool chipMaskPrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -6667,9 +6667,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p2MaskMetadataFromObject(objects->data[i]);
+        psMetadata *md = chipMaskMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P2MASK_TABLE_NAME,
+            CHIPMASK_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -6692,9 +6692,9 @@
     return true;
 }
-bool p2MaskPrintObject(FILE *stream, p2MaskRow *object, bool mdcf)
+bool chipMaskPrintObject(FILE *stream, chipMaskRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p2MaskMetadataFromObject(object);
+    psMetadata *md = chipMaskMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -6707,16 +6707,16 @@
     return true;
 }
-static void p2ProcessedImfileRowFree(p2ProcessedImfileRow *object);
-
-p2ProcessedImfileRow *p2ProcessedImfileRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS16 fault)
-{
-    p2ProcessedImfileRow *_object;
-
-    _object = psAlloc(sizeof(p2ProcessedImfileRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p2ProcessedImfileRowFree);
+static void chipProcessedImfileRowFree(chipProcessedImfileRow *object);
+
+chipProcessedImfileRow *chipProcessedImfileRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS16 fault)
+{
+    chipProcessedImfileRow *_object;
+
+    _object = psAlloc(sizeof(chipProcessedImfileRow));
+    psMemSetDeallocator(_object, (psFreeFunc)chipProcessedImfileRowFree);
 
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->p2_version = p2_version;
-    _object->p1_version = p1_version;
+    _object->chip_version = chip_version;
+    _object->guide_version = guide_version;
     _object->class_id = psStringCopy(class_id);
     _object->recipe = psStringCopy(recipe);
@@ -6732,5 +6732,5 @@
 }
 
-static void p2ProcessedImfileRowFree(p2ProcessedImfileRow *object)
+static void chipProcessedImfileRowFree(chipProcessedImfileRow *object)
 {
     psFree(object->exp_tag);
@@ -6742,5 +6742,5 @@
 }
 
-bool p2ProcessedImfileCreateTable(psDB *dbh)
+bool chipProcessedImfileCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
@@ -6750,11 +6750,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -6806,5 +6806,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P2PROCESSEDIMFILE_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, md);
 
     psFree(md);
@@ -6813,10 +6813,10 @@
 }
 
-bool p2ProcessedImfileDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P2PROCESSEDIMFILE_TABLE_NAME);
-}
-
-bool p2ProcessedImfileInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS16 fault)
+bool chipProcessedImfileDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME);
+}
+
+bool chipProcessedImfileInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
@@ -6826,11 +6826,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -6882,5 +6882,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P2PROCESSEDIMFILE_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, md);
     psFree(md);
 
@@ -6888,11 +6888,11 @@
 }
 
-long long p2ProcessedImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long chipProcessedImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedImfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedImfile");
         return count;
 
@@ -6902,13 +6902,13 @@
     return deleted;
 }
-bool p2ProcessedImfileInsertObject(psDB *dbh, p2ProcessedImfileRow *object)
-{
-    return p2ProcessedImfileInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->class_id, object->recipe, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->fault);
-}
-
-bool p2ProcessedImfileInsertObjects(psDB *dbh, psArray *objects)
+bool chipProcessedImfileInsertObject(psDB *dbh, chipProcessedImfileRow *object)
+{
+    return chipProcessedImfileInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->class_id, object->recipe, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->fault);
+}
+
+bool chipProcessedImfileInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p2ProcessedImfileInsertObject(dbh, objects->data[i])) {
+        if (!chipProcessedImfileInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -6918,11 +6918,11 @@
 }
 
-bool p2ProcessedImfileInsertFits(psDB *dbh, const psFits *fits)
+bool chipProcessedImfileInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P2PROCESSEDIMFILE_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P2PROCESSEDIMFILE_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PROCESSEDIMFILE_TABLE_NAME);
+    // move to (the first?) extension named  CHIPPROCESSEDIMFILE_TABLE_NAME
+    if (!psFitsMoveExtName(fits, CHIPPROCESSEDIMFILE_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPPROCESSEDIMFILE_TABLE_NAME);
         return false;
     }
@@ -6942,5 +6942,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -6953,9 +6953,9 @@
 }
 
-bool p2ProcessedImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool chipProcessedImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -6963,5 +6963,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P2PROCESSEDIMFILE_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, CHIPPROCESSEDIMFILE_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -6974,5 +6974,5 @@
 }
 
-psMetadata *p2ProcessedImfileMetadataFromObject(const p2ProcessedImfileRow *object)
+psMetadata *chipProcessedImfileMetadataFromObject(const chipProcessedImfileRow *object)
 {
     psMetadata *md = psMetadataAlloc();
@@ -6982,11 +6982,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
         psFree(md);
         return false;
@@ -7042,5 +7042,5 @@
 }
 
-p2ProcessedImfileRow *p2ProcessedImfileObjectFromMetadata(psMetadata *md)
+chipProcessedImfileRow *chipProcessedImfileObjectFromMetadata(psMetadata *md)
 {
 
@@ -7051,12 +7051,12 @@
         return false;
     }
-    psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
-        return false;
-    }
-    psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
+    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
+        return false;
+    }
+    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
         return false;
     }
@@ -7107,7 +7107,7 @@
     }
 
-    return p2ProcessedImfileRowAlloc(exp_tag, p2_version, p1_version, class_id, recipe, uri, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, fault);
-}
-psArray *p2ProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return chipProcessedImfileRowAlloc(exp_tag, chip_version, guide_version, class_id, recipe, uri, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, fault);
+}
+psArray *chipProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -7115,5 +7115,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -7125,5 +7125,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p2ProcessedImfileRow *object = p2ProcessedImfileObjectFromMetadata(rowSet->data[i]);
+        chipProcessedImfileRow *object = chipProcessedImfileObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -7134,11 +7134,11 @@
     return returnSet;
 }
-bool p2ProcessedImfileDeleteObject(psDB *dbh, const p2ProcessedImfileRow *object)
-{
-    psMetadata *where = p2ProcessedImfileMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, 0);
+bool chipProcessedImfileDeleteObject(psDB *dbh, const chipProcessedImfileRow *object)
+{
+    psMetadata *where = chipProcessedImfileMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedImfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedImfile");
         return false;
     }
@@ -7146,21 +7146,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p2ProcessedImfileRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p2ProcessedImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "chipProcessedImfileRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long chipProcessedImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p2ProcessedImfileRow *object = objects->data[i];
-        psMetadata *where = p2ProcessedImfileMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit);
+        chipProcessedImfileRow *object = objects->data[i];
+        psMetadata *where = chipProcessedImfileMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedImfile");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedImfile");
             return count;
         }
@@ -7171,5 +7171,5 @@
     return deleted;
 }
-bool p2ProcessedImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool chipProcessedImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -7177,9 +7177,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p2ProcessedImfileMetadataFromObject(objects->data[i]);
+        psMetadata *md = chipProcessedImfileMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P2PROCESSEDIMFILE_TABLE_NAME,
+            CHIPPROCESSEDIMFILE_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -7202,9 +7202,9 @@
     return true;
 }
-bool p2ProcessedImfilePrintObject(FILE *stream, p2ProcessedImfileRow *object, bool mdcf)
+bool chipProcessedImfilePrintObject(FILE *stream, chipProcessedImfileRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p2ProcessedImfileMetadataFromObject(object);
+    psMetadata *md = chipProcessedImfileMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -7217,16 +7217,16 @@
     return true;
 }
-static void p3PendingExpRowFree(p3PendingExpRow *object);
-
-p3PendingExpRow *p3PendingExpRowAlloc(const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label, const char *expgroup, const char *dvodb)
-{
-    p3PendingExpRow *_object;
-
-    _object = psAlloc(sizeof(p3PendingExpRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p3PendingExpRowFree);
+static void camPendingExpRowFree(camPendingExpRow *object);
+
+camPendingExpRow *camPendingExpRowAlloc(const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *expgroup, const char *dvodb)
+{
+    camPendingExpRow *_object;
+
+    _object = psAlloc(sizeof(camPendingExpRow));
+    psMemSetDeallocator(_object, (psFreeFunc)camPendingExpRowFree);
 
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->p3_version = p3_version;
-    _object->p2_version = p2_version;
+    _object->cam_version = cam_version;
+    _object->chip_version = chip_version;
     _object->label = psStringCopy(label);
     _object->expgroup = psStringCopy(expgroup);
@@ -7236,5 +7236,5 @@
 }
 
-static void p3PendingExpRowFree(p3PendingExpRow *object)
+static void camPendingExpRowFree(camPendingExpRow *object)
 {
     psFree(object->exp_tag);
@@ -7244,5 +7244,5 @@
 }
 
-bool p3PendingExpCreateTable(psDB *dbh)
+bool camPendingExpCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
@@ -7252,11 +7252,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
         psFree(md);
         return false;
@@ -7278,5 +7278,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P3PENDINGEXP_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, CAMPENDINGEXP_TABLE_NAME, md);
 
     psFree(md);
@@ -7285,10 +7285,10 @@
 }
 
-bool p3PendingExpDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P3PENDINGEXP_TABLE_NAME);
-}
-
-bool p3PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label, const char *expgroup, const char *dvodb)
+bool camPendingExpDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, CAMPENDINGEXP_TABLE_NAME);
+}
+
+bool camPendingExpInsert(psDB * dbh, const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *expgroup, const char *dvodb)
 {
     psMetadata *md = psMetadataAlloc();
@@ -7298,11 +7298,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
         psFree(md);
         return false;
@@ -7324,5 +7324,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P3PENDINGEXP_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, CAMPENDINGEXP_TABLE_NAME, md);
     psFree(md);
 
@@ -7330,11 +7330,11 @@
 }
 
-long long p3PendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long camPendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P3PENDINGEXP_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3PendingExp");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from camPendingExp");
         return count;
 
@@ -7344,13 +7344,13 @@
     return deleted;
 }
-bool p3PendingExpInsertObject(psDB *dbh, p3PendingExpRow *object)
-{
-    return p3PendingExpInsert(dbh, object->exp_tag, object->p3_version, object->p2_version, object->label, object->expgroup, object->dvodb);
-}
-
-bool p3PendingExpInsertObjects(psDB *dbh, psArray *objects)
+bool camPendingExpInsertObject(psDB *dbh, camPendingExpRow *object)
+{
+    return camPendingExpInsert(dbh, object->exp_tag, object->cam_version, object->chip_version, object->label, object->expgroup, object->dvodb);
+}
+
+bool camPendingExpInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p3PendingExpInsertObject(dbh, objects->data[i])) {
+        if (!camPendingExpInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -7360,11 +7360,11 @@
 }
 
-bool p3PendingExpInsertFits(psDB *dbh, const psFits *fits)
+bool camPendingExpInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P3PENDINGEXP_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P3PENDINGEXP_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P3PENDINGEXP_TABLE_NAME);
+    // move to (the first?) extension named  CAMPENDINGEXP_TABLE_NAME
+    if (!psFitsMoveExtName(fits, CAMPENDINGEXP_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CAMPENDINGEXP_TABLE_NAME);
         return false;
     }
@@ -7384,5 +7384,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P3PENDINGEXP_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, CAMPENDINGEXP_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -7395,9 +7395,9 @@
 }
 
-bool p3PendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool camPendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P3PENDINGEXP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -7405,5 +7405,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P3PENDINGEXP_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, CAMPENDINGEXP_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -7416,5 +7416,5 @@
 }
 
-psMetadata *p3PendingExpMetadataFromObject(const p3PendingExpRow *object)
+psMetadata *camPendingExpMetadataFromObject(const camPendingExpRow *object)
 {
     psMetadata *md = psMetadataAlloc();
@@ -7424,11 +7424,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
         psFree(md);
         return false;
@@ -7454,5 +7454,5 @@
 }
 
-p3PendingExpRow *p3PendingExpObjectFromMetadata(psMetadata *md)
+camPendingExpRow *camPendingExpObjectFromMetadata(psMetadata *md)
 {
 
@@ -7463,12 +7463,12 @@
         return false;
     }
-    psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");
-        return false;
-    }
-    psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
+    psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version");
+        return false;
+    }
+    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
         return false;
     }
@@ -7489,7 +7489,7 @@
     }
 
-    return p3PendingExpRowAlloc(exp_tag, p3_version, p2_version, label, expgroup, dvodb);
-}
-psArray *p3PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return camPendingExpRowAlloc(exp_tag, cam_version, chip_version, label, expgroup, dvodb);
+}
+psArray *camPendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -7497,5 +7497,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P3PENDINGEXP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -7507,5 +7507,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p3PendingExpRow *object = p3PendingExpObjectFromMetadata(rowSet->data[i]);
+        camPendingExpRow *object = camPendingExpObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -7516,11 +7516,11 @@
     return returnSet;
 }
-bool p3PendingExpDeleteObject(psDB *dbh, const p3PendingExpRow *object)
-{
-    psMetadata *where = p3PendingExpMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P3PENDINGEXP_TABLE_NAME, where, 0);
+bool camPendingExpDeleteObject(psDB *dbh, const camPendingExpRow *object)
+{
+    psMetadata *where = camPendingExpMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3PendingExp");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from camPendingExp");
         return false;
     }
@@ -7528,21 +7528,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p3PendingExpRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p3PendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "camPendingExpRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long camPendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p3PendingExpRow *object = objects->data[i];
-        psMetadata *where = p3PendingExpMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P3PENDINGEXP_TABLE_NAME, where, limit);
+        camPendingExpRow *object = objects->data[i];
+        psMetadata *where = camPendingExpMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3PendingExp");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from camPendingExp");
             return count;
         }
@@ -7553,5 +7553,5 @@
     return deleted;
 }
-bool p3PendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool camPendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -7559,9 +7559,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p3PendingExpMetadataFromObject(objects->data[i]);
+        psMetadata *md = camPendingExpMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P3PENDINGEXP_TABLE_NAME,
+            CAMPENDINGEXP_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -7584,9 +7584,9 @@
     return true;
 }
-bool p3PendingExpPrintObject(FILE *stream, p3PendingExpRow *object, bool mdcf)
+bool camPendingExpPrintObject(FILE *stream, camPendingExpRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p3PendingExpMetadataFromObject(object);
+    psMetadata *md = camPendingExpMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -7599,16 +7599,16 @@
     return true;
 }
-static void p3ProcessedExpRowFree(p3ProcessedExpRow *object);
-
-p3ProcessedExpRow *p3ProcessedExpRowAlloc(const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
-{
-    p3ProcessedExpRow *_object;
-
-    _object = psAlloc(sizeof(p3ProcessedExpRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p3ProcessedExpRowFree);
+static void camProcessedExpRowFree(camProcessedExpRow *object);
+
+camProcessedExpRow *camProcessedExpRowAlloc(const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
+{
+    camProcessedExpRow *_object;
+
+    _object = psAlloc(sizeof(camProcessedExpRow));
+    psMemSetDeallocator(_object, (psFreeFunc)camProcessedExpRowFree);
 
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->p3_version = p3_version;
-    _object->p2_version = p2_version;
+    _object->cam_version = cam_version;
+    _object->chip_version = chip_version;
     _object->label = psStringCopy(label);
     _object->uri = psStringCopy(uri);
@@ -7631,5 +7631,5 @@
 }
 
-static void p3ProcessedExpRowFree(p3ProcessedExpRow *object)
+static void camProcessedExpRowFree(camProcessedExpRow *object)
 {
     psFree(object->exp_tag);
@@ -7643,5 +7643,5 @@
 }
 
-bool p3ProcessedExpCreateTable(psDB *dbh)
+bool camProcessedExpCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
@@ -7651,11 +7651,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
         psFree(md);
         return false;
@@ -7742,5 +7742,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P3PROCESSEDEXP_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, CAMPROCESSEDEXP_TABLE_NAME, md);
 
     psFree(md);
@@ -7749,10 +7749,10 @@
 }
 
-bool p3ProcessedExpDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P3PROCESSEDEXP_TABLE_NAME);
-}
-
-bool p3ProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
+bool camProcessedExpDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, CAMPROCESSEDEXP_TABLE_NAME);
+}
+
+bool camProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
 {
     psMetadata *md = psMetadataAlloc();
@@ -7762,11 +7762,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
         psFree(md);
         return false;
@@ -7853,5 +7853,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P3PROCESSEDEXP_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, CAMPROCESSEDEXP_TABLE_NAME, md);
     psFree(md);
 
@@ -7859,11 +7859,11 @@
 }
 
-long long p3ProcessedExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long camProcessedExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3ProcessedExp");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from camProcessedExp");
         return count;
 
@@ -7873,13 +7873,13 @@
     return deleted;
 }
-bool p3ProcessedExpInsertObject(psDB *dbh, p3ProcessedExpRow *object)
-{
-    return p3ProcessedExpInsert(dbh, object->exp_tag, object->p3_version, object->p2_version, object->label, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->sigma_ra, object->sigma_dec, object->nastro, object->b1_uri, object->b2_uri, object->zp_mean, object->zp_stdev, object->fault, object->expgroup, object->dvodb);
-}
-
-bool p3ProcessedExpInsertObjects(psDB *dbh, psArray *objects)
+bool camProcessedExpInsertObject(psDB *dbh, camProcessedExpRow *object)
+{
+    return camProcessedExpInsert(dbh, object->exp_tag, object->cam_version, object->chip_version, object->label, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->sigma_ra, object->sigma_dec, object->nastro, object->b1_uri, object->b2_uri, object->zp_mean, object->zp_stdev, object->fault, object->expgroup, object->dvodb);
+}
+
+bool camProcessedExpInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p3ProcessedExpInsertObject(dbh, objects->data[i])) {
+        if (!camProcessedExpInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -7889,11 +7889,11 @@
 }
 
-bool p3ProcessedExpInsertFits(psDB *dbh, const psFits *fits)
+bool camProcessedExpInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P3PROCESSEDEXP_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P3PROCESSEDEXP_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P3PROCESSEDEXP_TABLE_NAME);
+    // move to (the first?) extension named  CAMPROCESSEDEXP_TABLE_NAME
+    if (!psFitsMoveExtName(fits, CAMPROCESSEDEXP_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CAMPROCESSEDEXP_TABLE_NAME);
         return false;
     }
@@ -7913,5 +7913,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P3PROCESSEDEXP_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -7924,9 +7924,9 @@
 }
 
-bool p3ProcessedExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool camProcessedExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -7934,5 +7934,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P3PROCESSEDEXP_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, CAMPROCESSEDEXP_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -7945,5 +7945,5 @@
 }
 
-psMetadata *p3ProcessedExpMetadataFromObject(const p3ProcessedExpRow *object)
+psMetadata *camProcessedExpMetadataFromObject(const camProcessedExpRow *object)
 {
     psMetadata *md = psMetadataAlloc();
@@ -7953,11 +7953,11 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
         psFree(md);
         return false;
@@ -8048,5 +8048,5 @@
 }
 
-p3ProcessedExpRow *p3ProcessedExpObjectFromMetadata(psMetadata *md)
+camProcessedExpRow *camProcessedExpObjectFromMetadata(psMetadata *md)
 {
 
@@ -8057,12 +8057,12 @@
         return false;
     }
-    psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");
-        return false;
-    }
-    psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
+    psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version");
+        return false;
+    }
+    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
         return false;
     }
@@ -8148,7 +8148,7 @@
     }
 
-    return p3ProcessedExpRowAlloc(exp_tag, p3_version, p2_version, label, uri, recipe, bg, bg_stdev, bg_mean_stdev, sigma_ra, sigma_dec, nastro, b1_uri, b2_uri, zp_mean, zp_stdev, fault, expgroup, dvodb);
-}
-psArray *p3ProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return camProcessedExpRowAlloc(exp_tag, cam_version, chip_version, label, uri, recipe, bg, bg_stdev, bg_mean_stdev, sigma_ra, sigma_dec, nastro, b1_uri, b2_uri, zp_mean, zp_stdev, fault, expgroup, dvodb);
+}
+psArray *camProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -8156,5 +8156,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -8166,5 +8166,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p3ProcessedExpRow *object = p3ProcessedExpObjectFromMetadata(rowSet->data[i]);
+        camProcessedExpRow *object = camProcessedExpObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -8175,11 +8175,11 @@
     return returnSet;
 }
-bool p3ProcessedExpDeleteObject(psDB *dbh, const p3ProcessedExpRow *object)
-{
-    psMetadata *where = p3ProcessedExpMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, 0);
+bool camProcessedExpDeleteObject(psDB *dbh, const camProcessedExpRow *object)
+{
+    psMetadata *where = camProcessedExpMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3ProcessedExp");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from camProcessedExp");
         return false;
     }
@@ -8187,21 +8187,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p3ProcessedExpRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p3ProcessedExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "camProcessedExpRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long camProcessedExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p3ProcessedExpRow *object = objects->data[i];
-        psMetadata *where = p3ProcessedExpMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, limit);
+        camProcessedExpRow *object = objects->data[i];
+        psMetadata *where = camProcessedExpMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3ProcessedExp");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from camProcessedExp");
             return count;
         }
@@ -8212,5 +8212,5 @@
     return deleted;
 }
-bool p3ProcessedExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool camProcessedExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -8218,9 +8218,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p3ProcessedExpMetadataFromObject(objects->data[i]);
+        psMetadata *md = camProcessedExpMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P3PROCESSEDEXP_TABLE_NAME,
+            CAMPROCESSEDEXP_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -8243,9 +8243,9 @@
     return true;
 }
-bool p3ProcessedExpPrintObject(FILE *stream, p3ProcessedExpRow *object, bool mdcf)
+bool camProcessedExpPrintObject(FILE *stream, camProcessedExpRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p3ProcessedExpMetadataFromObject(object);
+    psMetadata *md = camProcessedExpMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -8258,12 +8258,12 @@
     return true;
 }
-static void p3MaskRowFree(p3MaskRow *object);
-
-p3MaskRow *p3MaskRowAlloc(const char *label)
-{
-    p3MaskRow       *_object;
-
-    _object = psAlloc(sizeof(p3MaskRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p3MaskRowFree);
+static void camMaskRowFree(camMaskRow *object);
+
+camMaskRow *camMaskRowAlloc(const char *label)
+{
+    camMaskRow      *_object;
+
+    _object = psAlloc(sizeof(camMaskRow));
+    psMemSetDeallocator(_object, (psFreeFunc)camMaskRowFree);
 
     _object->label = psStringCopy(label);
@@ -8272,10 +8272,10 @@
 }
 
-static void p3MaskRowFree(p3MaskRow *object)
+static void camMaskRowFree(camMaskRow *object)
 {
     psFree(object->label);
 }
 
-bool p3MaskCreateTable(psDB *dbh)
+bool camMaskCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
@@ -8286,5 +8286,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P3MASK_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, CAMMASK_TABLE_NAME, md);
 
     psFree(md);
@@ -8293,10 +8293,10 @@
 }
 
-bool p3MaskDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P3MASK_TABLE_NAME);
-}
-
-bool p3MaskInsert(psDB * dbh, const char *label)
+bool camMaskDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, CAMMASK_TABLE_NAME);
+}
+
+bool camMaskInsert(psDB * dbh, const char *label)
 {
     psMetadata *md = psMetadataAlloc();
@@ -8307,5 +8307,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P3MASK_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, CAMMASK_TABLE_NAME, md);
     psFree(md);
 
@@ -8313,11 +8313,11 @@
 }
 
-long long p3MaskDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long camMaskDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P3MASK_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, CAMMASK_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3Mask");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from camMask");
         return count;
 
@@ -8327,13 +8327,13 @@
     return deleted;
 }
-bool p3MaskInsertObject(psDB *dbh, p3MaskRow *object)
-{
-    return p3MaskInsert(dbh, object->label);
-}
-
-bool p3MaskInsertObjects(psDB *dbh, psArray *objects)
+bool camMaskInsertObject(psDB *dbh, camMaskRow *object)
+{
+    return camMaskInsert(dbh, object->label);
+}
+
+bool camMaskInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p3MaskInsertObject(dbh, objects->data[i])) {
+        if (!camMaskInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -8343,11 +8343,11 @@
 }
 
-bool p3MaskInsertFits(psDB *dbh, const psFits *fits)
+bool camMaskInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P3MASK_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P3MASK_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P3MASK_TABLE_NAME);
+    // move to (the first?) extension named  CAMMASK_TABLE_NAME
+    if (!psFitsMoveExtName(fits, CAMMASK_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CAMMASK_TABLE_NAME);
         return false;
     }
@@ -8367,5 +8367,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P3MASK_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, CAMMASK_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -8378,9 +8378,9 @@
 }
 
-bool p3MaskSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool camMaskSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P3MASK_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CAMMASK_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -8388,5 +8388,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P3MASK_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, CAMMASK_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -8399,5 +8399,5 @@
 }
 
-psMetadata *p3MaskMetadataFromObject(const p3MaskRow *object)
+psMetadata *camMaskMetadataFromObject(const camMaskRow *object)
 {
     psMetadata *md = psMetadataAlloc();
@@ -8412,5 +8412,5 @@
 }
 
-p3MaskRow *p3MaskObjectFromMetadata(psMetadata *md)
+camMaskRow *camMaskObjectFromMetadata(psMetadata *md)
 {
 
@@ -8422,7 +8422,7 @@
     }
 
-    return p3MaskRowAlloc(label);
-}
-psArray *p3MaskSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return camMaskRowAlloc(label);
+}
+psArray *camMaskSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -8430,5 +8430,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P3MASK_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, CAMMASK_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -8440,5 +8440,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p3MaskRow *object = p3MaskObjectFromMetadata(rowSet->data[i]);
+        camMaskRow *object = camMaskObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -8449,11 +8449,11 @@
     return returnSet;
 }
-bool p3MaskDeleteObject(psDB *dbh, const p3MaskRow *object)
-{
-    psMetadata *where = p3MaskMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P3MASK_TABLE_NAME, where, 0);
+bool camMaskDeleteObject(psDB *dbh, const camMaskRow *object)
+{
+    psMetadata *where = camMaskMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, CAMMASK_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3Mask");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from camMask");
         return false;
     }
@@ -8461,21 +8461,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p3MaskRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p3MaskDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "camMaskRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long camMaskDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p3MaskRow *object = objects->data[i];
-        psMetadata *where = p3MaskMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P3MASK_TABLE_NAME, where, limit);
+        camMaskRow *object = objects->data[i];
+        psMetadata *where = camMaskMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, CAMMASK_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3Mask");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from camMask");
             return count;
         }
@@ -8486,5 +8486,5 @@
     return deleted;
 }
-bool p3MaskPrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool camMaskPrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -8492,9 +8492,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p3MaskMetadataFromObject(objects->data[i]);
+        psMetadata *md = camMaskMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P3MASK_TABLE_NAME,
+            CAMMASK_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -8517,9 +8517,9 @@
     return true;
 }
-bool p3MaskPrintObject(FILE *stream, p3MaskRow *object, bool mdcf)
+bool camMaskPrintObject(FILE *stream, camMaskRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p3MaskMetadataFromObject(object);
+    psMetadata *md = camMaskMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -13744,14 +13744,14 @@
     return true;
 }
-static void p4RunRowFree(p4RunRow *object);
-
-p4RunRow *p4RunRowAlloc(psS32 p4_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)
-{
-    p4RunRow        *_object;
-
-    _object = psAlloc(sizeof(p4RunRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p4RunRowFree);
-
-    _object->p4_id = p4_id;
+static void warpRunRowFree(warpRunRow *object);
+
+warpRunRow *warpRunRowAlloc(psS32 warp_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)
+{
+    warpRunRow      *_object;
+
+    _object = psAlloc(sizeof(warpRunRow));
+    psMemSetDeallocator(_object, (psFreeFunc)warpRunRowFree);
+
+    _object->warp_id = warp_id;
     _object->mode = psStringCopy(mode);
     _object->state = psStringCopy(state);
@@ -13763,5 +13763,5 @@
 }
 
-static void p4RunRowFree(p4RunRow *object)
+static void warpRunRowFree(warpRunRow *object)
 {
     psFree(object->mode);
@@ -13772,9 +13772,9 @@
 }
 
-bool p4RunCreateTable(psDB *dbh)
+bool warpRunCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -13806,5 +13806,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P4RUN_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, WARPRUN_TABLE_NAME, md);
 
     psFree(md);
@@ -13813,14 +13813,14 @@
 }
 
-bool p4RunDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P4RUN_TABLE_NAME);
-}
-
-bool p4RunInsert(psDB * dbh, psS32 p4_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)
+bool warpRunDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, WARPRUN_TABLE_NAME);
+}
+
+bool warpRunInsert(psDB * dbh, psS32 warp_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, p4_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -13852,5 +13852,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P4RUN_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, WARPRUN_TABLE_NAME, md);
     psFree(md);
 
@@ -13858,11 +13858,11 @@
 }
 
-long long p4RunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long warpRunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P4RUN_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, WARPRUN_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Run");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpRun");
         return count;
 
@@ -13872,13 +13872,13 @@
     return deleted;
 }
-bool p4RunInsertObject(psDB *dbh, p4RunRow *object)
-{
-    return p4RunInsert(dbh, object->p4_id, object->mode, object->state, object->workdir, object->dvodb, object->registered);
-}
-
-bool p4RunInsertObjects(psDB *dbh, psArray *objects)
+bool warpRunInsertObject(psDB *dbh, warpRunRow *object)
+{
+    return warpRunInsert(dbh, object->warp_id, object->mode, object->state, object->workdir, object->dvodb, object->registered);
+}
+
+bool warpRunInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p4RunInsertObject(dbh, objects->data[i])) {
+        if (!warpRunInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -13888,11 +13888,11 @@
 }
 
-bool p4RunInsertFits(psDB *dbh, const psFits *fits)
+bool warpRunInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P4RUN_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P4RUN_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4RUN_TABLE_NAME);
+    // move to (the first?) extension named  WARPRUN_TABLE_NAME
+    if (!psFitsMoveExtName(fits, WARPRUN_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", WARPRUN_TABLE_NAME);
         return false;
     }
@@ -13912,5 +13912,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P4RUN_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, WARPRUN_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -13923,9 +13923,9 @@
 }
 
-bool p4RunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool warpRunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P4RUN_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, WARPRUN_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -13933,5 +13933,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P4RUN_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, WARPRUN_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -13944,9 +13944,9 @@
 }
 
-psMetadata *p4RunMetadataFromObject(const p4RunRow *object)
+psMetadata *warpRunMetadataFromObject(const warpRunRow *object)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, object->p4_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -13982,11 +13982,11 @@
 }
 
-p4RunRow *p4RunObjectFromMetadata(psMetadata *md)
+warpRunRow *warpRunObjectFromMetadata(psMetadata *md)
 {
 
 bool status = false;
-    psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");
+    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
         return false;
     }
@@ -14017,7 +14017,7 @@
     }
 
-    return p4RunRowAlloc(p4_id, mode, state, workdir, dvodb, registered);
-}
-psArray *p4RunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return warpRunRowAlloc(warp_id, mode, state, workdir, dvodb, registered);
+}
+psArray *warpRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -14025,5 +14025,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P4RUN_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, WARPRUN_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -14035,5 +14035,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p4RunRow *object = p4RunObjectFromMetadata(rowSet->data[i]);
+        warpRunRow *object = warpRunObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -14044,11 +14044,11 @@
     return returnSet;
 }
-bool p4RunDeleteObject(psDB *dbh, const p4RunRow *object)
-{
-    psMetadata *where = p4RunMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P4RUN_TABLE_NAME, where, 0);
+bool warpRunDeleteObject(psDB *dbh, const warpRunRow *object)
+{
+    psMetadata *where = warpRunMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, WARPRUN_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Run");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpRun");
         return false;
     }
@@ -14056,21 +14056,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p4RunRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p4RunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "warpRunRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long warpRunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p4RunRow *object = objects->data[i];
-        psMetadata *where = p4RunMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P4RUN_TABLE_NAME, where, limit);
+        warpRunRow *object = objects->data[i];
+        psMetadata *where = warpRunMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, WARPRUN_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Run");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpRun");
             return count;
         }
@@ -14081,5 +14081,5 @@
     return deleted;
 }
-bool p4RunPrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool warpRunPrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -14087,9 +14087,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p4RunMetadataFromObject(objects->data[i]);
+        psMetadata *md = warpRunMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P4RUN_TABLE_NAME,
+            WARPRUN_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -14112,9 +14112,9 @@
     return true;
 }
-bool p4RunPrintObject(FILE *stream, p4RunRow *object, bool mdcf)
+bool warpRunPrintObject(FILE *stream, warpRunRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p4RunMetadataFromObject(object);
+    psMetadata *md = warpRunMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -14127,16 +14127,16 @@
     return true;
 }
-static void p4InputExpRowFree(p4InputExpRow *object);
-
-p4InputExpRow *p4InputExpRowAlloc(psS32 p4_id, const char *exp_tag, psS32 p3_version, bool magiced)
-{
-    p4InputExpRow   *_object;
-
-    _object = psAlloc(sizeof(p4InputExpRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p4InputExpRowFree);
-
-    _object->p4_id = p4_id;
+static void warpInputExpRowFree(warpInputExpRow *object);
+
+warpInputExpRow *warpInputExpRowAlloc(psS32 warp_id, const char *exp_tag, psS32 cam_version, bool magiced)
+{
+    warpInputExpRow *_object;
+
+    _object = psAlloc(sizeof(warpInputExpRow));
+    psMemSetDeallocator(_object, (psFreeFunc)warpInputExpRowFree);
+
+    _object->warp_id = warp_id;
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->p3_version = p3_version;
+    _object->cam_version = cam_version;
     _object->magiced = magiced;
 
@@ -14144,14 +14144,14 @@
 }
 
-static void p4InputExpRowFree(p4InputExpRow *object)
+static void warpInputExpRowFree(warpInputExpRow *object)
 {
     psFree(object->exp_tag);
 }
 
-bool p4InputExpCreateTable(psDB *dbh)
+bool warpInputExpCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -14162,6 +14162,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, "Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
         psFree(md);
         return false;
@@ -14173,5 +14173,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P4INPUTEXP_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, WARPINPUTEXP_TABLE_NAME, md);
 
     psFree(md);
@@ -14180,14 +14180,14 @@
 }
 
-bool p4InputExpDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P4INPUTEXP_TABLE_NAME);
-}
-
-bool p4InputExpInsert(psDB * dbh, psS32 p4_id, const char *exp_tag, psS32 p3_version, bool magiced)
+bool warpInputExpDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, WARPINPUTEXP_TABLE_NAME);
+}
+
+bool warpInputExpInsert(psDB * dbh, psS32 warp_id, const char *exp_tag, psS32 cam_version, bool magiced)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, p4_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -14198,6 +14198,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
         psFree(md);
         return false;
@@ -14209,5 +14209,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P4INPUTEXP_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, WARPINPUTEXP_TABLE_NAME, md);
     psFree(md);
 
@@ -14215,11 +14215,11 @@
 }
 
-long long p4InputExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long warpInputExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P4INPUTEXP_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, WARPINPUTEXP_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4InputExp");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpInputExp");
         return count;
 
@@ -14229,13 +14229,13 @@
     return deleted;
 }
-bool p4InputExpInsertObject(psDB *dbh, p4InputExpRow *object)
-{
-    return p4InputExpInsert(dbh, object->p4_id, object->exp_tag, object->p3_version, object->magiced);
-}
-
-bool p4InputExpInsertObjects(psDB *dbh, psArray *objects)
+bool warpInputExpInsertObject(psDB *dbh, warpInputExpRow *object)
+{
+    return warpInputExpInsert(dbh, object->warp_id, object->exp_tag, object->cam_version, object->magiced);
+}
+
+bool warpInputExpInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p4InputExpInsertObject(dbh, objects->data[i])) {
+        if (!warpInputExpInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -14245,11 +14245,11 @@
 }
 
-bool p4InputExpInsertFits(psDB *dbh, const psFits *fits)
+bool warpInputExpInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P4INPUTEXP_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P4INPUTEXP_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4INPUTEXP_TABLE_NAME);
+    // move to (the first?) extension named  WARPINPUTEXP_TABLE_NAME
+    if (!psFitsMoveExtName(fits, WARPINPUTEXP_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", WARPINPUTEXP_TABLE_NAME);
         return false;
     }
@@ -14269,5 +14269,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P4INPUTEXP_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, WARPINPUTEXP_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -14280,9 +14280,9 @@
 }
 
-bool p4InputExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool warpInputExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P4INPUTEXP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, WARPINPUTEXP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -14290,5 +14290,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P4INPUTEXP_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, WARPINPUTEXP_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -14301,9 +14301,9 @@
 }
 
-psMetadata *p4InputExpMetadataFromObject(const p4InputExpRow *object)
+psMetadata *warpInputExpMetadataFromObject(const warpInputExpRow *object)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, object->p4_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -14314,6 +14314,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
         psFree(md);
         return false;
@@ -14329,11 +14329,11 @@
 }
 
-p4InputExpRow *p4InputExpObjectFromMetadata(psMetadata *md)
+warpInputExpRow *warpInputExpObjectFromMetadata(psMetadata *md)
 {
 
 bool status = false;
-    psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");
+    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
         return false;
     }
@@ -14343,7 +14343,7 @@
         return false;
     }
-    psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");
+    psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version");
         return false;
     }
@@ -14354,7 +14354,7 @@
     }
 
-    return p4InputExpRowAlloc(p4_id, exp_tag, p3_version, magiced);
-}
-psArray *p4InputExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return warpInputExpRowAlloc(warp_id, exp_tag, cam_version, magiced);
+}
+psArray *warpInputExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -14362,5 +14362,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P4INPUTEXP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, WARPINPUTEXP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -14372,5 +14372,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p4InputExpRow *object = p4InputExpObjectFromMetadata(rowSet->data[i]);
+        warpInputExpRow *object = warpInputExpObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -14381,11 +14381,11 @@
     return returnSet;
 }
-bool p4InputExpDeleteObject(psDB *dbh, const p4InputExpRow *object)
-{
-    psMetadata *where = p4InputExpMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P4INPUTEXP_TABLE_NAME, where, 0);
+bool warpInputExpDeleteObject(psDB *dbh, const warpInputExpRow *object)
+{
+    psMetadata *where = warpInputExpMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, WARPINPUTEXP_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4InputExp");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpInputExp");
         return false;
     }
@@ -14393,21 +14393,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p4InputExpRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p4InputExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "warpInputExpRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long warpInputExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p4InputExpRow *object = objects->data[i];
-        psMetadata *where = p4InputExpMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P4INPUTEXP_TABLE_NAME, where, limit);
+        warpInputExpRow *object = objects->data[i];
+        psMetadata *where = warpInputExpMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, WARPINPUTEXP_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4InputExp");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpInputExp");
             return count;
         }
@@ -14418,5 +14418,5 @@
     return deleted;
 }
-bool p4InputExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool warpInputExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -14424,9 +14424,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p4InputExpMetadataFromObject(objects->data[i]);
+        psMetadata *md = warpInputExpMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P4INPUTEXP_TABLE_NAME,
+            WARPINPUTEXP_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -14449,9 +14449,9 @@
     return true;
 }
-bool p4InputExpPrintObject(FILE *stream, p4InputExpRow *object, bool mdcf)
+bool warpInputExpPrintObject(FILE *stream, warpInputExpRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p4InputExpMetadataFromObject(object);
+    psMetadata *md = warpInputExpMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -14464,18 +14464,18 @@
     return true;
 }
-static void p4SkyCellMapRowFree(p4SkyCellMapRow *object);
-
-p4SkyCellMapRow *p4SkyCellMapRowAlloc(psS32 p4_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 p3_version, const char *class_id)
-{
-    p4SkyCellMapRow *_object;
-
-    _object = psAlloc(sizeof(p4SkyCellMapRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p4SkyCellMapRowFree);
-
-    _object->p4_id = p4_id;
+static void warpSkyCellMapRowFree(warpSkyCellMapRow *object);
+
+warpSkyCellMapRow *warpSkyCellMapRowAlloc(psS32 warp_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 cam_version, const char *class_id)
+{
+    warpSkyCellMapRow *_object;
+
+    _object = psAlloc(sizeof(warpSkyCellMapRow));
+    psMemSetDeallocator(_object, (psFreeFunc)warpSkyCellMapRowFree);
+
+    _object->warp_id = warp_id;
     _object->skycell_id = psStringCopy(skycell_id);
     _object->tess_id = psStringCopy(tess_id);
     _object->exp_tag = psStringCopy(exp_tag);
-    _object->p3_version = p3_version;
+    _object->cam_version = cam_version;
     _object->class_id = psStringCopy(class_id);
 
@@ -14483,5 +14483,5 @@
 }
 
-static void p4SkyCellMapRowFree(p4SkyCellMapRow *object)
+static void warpSkyCellMapRowFree(warpSkyCellMapRow *object)
 {
     psFree(object->skycell_id);
@@ -14491,9 +14491,9 @@
 }
 
-bool p4SkyCellMapCreateTable(psDB *dbh)
+bool warpSkyCellMapCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -14514,6 +14514,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
         psFree(md);
         return false;
@@ -14525,5 +14525,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P4SKYCELLMAP_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, WARPSKYCELLMAP_TABLE_NAME, md);
 
     psFree(md);
@@ -14532,14 +14532,14 @@
 }
 
-bool p4SkyCellMapDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P4SKYCELLMAP_TABLE_NAME);
-}
-
-bool p4SkyCellMapInsert(psDB * dbh, psS32 p4_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 p3_version, const char *class_id)
+bool warpSkyCellMapDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, WARPSKYCELLMAP_TABLE_NAME);
+}
+
+bool warpSkyCellMapInsert(psDB * dbh, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 cam_version, const char *class_id)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, p4_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -14560,6 +14560,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
         psFree(md);
         return false;
@@ -14571,5 +14571,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P4SKYCELLMAP_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, WARPSKYCELLMAP_TABLE_NAME, md);
     psFree(md);
 
@@ -14577,11 +14577,11 @@
 }
 
-long long p4SkyCellMapDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long warpSkyCellMapDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4SkyCellMap");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyCellMap");
         return count;
 
@@ -14591,13 +14591,13 @@
     return deleted;
 }
-bool p4SkyCellMapInsertObject(psDB *dbh, p4SkyCellMapRow *object)
-{
-    return p4SkyCellMapInsert(dbh, object->p4_id, object->skycell_id, object->tess_id, object->exp_tag, object->p3_version, object->class_id);
-}
-
-bool p4SkyCellMapInsertObjects(psDB *dbh, psArray *objects)
+bool warpSkyCellMapInsertObject(psDB *dbh, warpSkyCellMapRow *object)
+{
+    return warpSkyCellMapInsert(dbh, object->warp_id, object->skycell_id, object->tess_id, object->exp_tag, object->cam_version, object->class_id);
+}
+
+bool warpSkyCellMapInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p4SkyCellMapInsertObject(dbh, objects->data[i])) {
+        if (!warpSkyCellMapInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -14607,11 +14607,11 @@
 }
 
-bool p4SkyCellMapInsertFits(psDB *dbh, const psFits *fits)
+bool warpSkyCellMapInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P4SKYCELLMAP_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P4SKYCELLMAP_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4SKYCELLMAP_TABLE_NAME);
+    // move to (the first?) extension named  WARPSKYCELLMAP_TABLE_NAME
+    if (!psFitsMoveExtName(fits, WARPSKYCELLMAP_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", WARPSKYCELLMAP_TABLE_NAME);
         return false;
     }
@@ -14631,5 +14631,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P4SKYCELLMAP_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, WARPSKYCELLMAP_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -14642,9 +14642,9 @@
 }
 
-bool p4SkyCellMapSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool warpSkyCellMapSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -14652,5 +14652,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P4SKYCELLMAP_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, WARPSKYCELLMAP_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -14663,9 +14663,9 @@
 }
 
-psMetadata *p4SkyCellMapMetadataFromObject(const p4SkyCellMapRow *object)
+psMetadata *warpSkyCellMapMetadataFromObject(const warpSkyCellMapRow *object)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, object->p4_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -14686,6 +14686,6 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
         psFree(md);
         return false;
@@ -14701,11 +14701,11 @@
 }
 
-p4SkyCellMapRow *p4SkyCellMapObjectFromMetadata(psMetadata *md)
+warpSkyCellMapRow *warpSkyCellMapObjectFromMetadata(psMetadata *md)
 {
 
 bool status = false;
-    psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");
+    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
         return false;
     }
@@ -14725,7 +14725,7 @@
         return false;
     }
-    psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");
+    psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version");
         return false;
     }
@@ -14736,7 +14736,7 @@
     }
 
-    return p4SkyCellMapRowAlloc(p4_id, skycell_id, tess_id, exp_tag, p3_version, class_id);
-}
-psArray *p4SkyCellMapSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return warpSkyCellMapRowAlloc(warp_id, skycell_id, tess_id, exp_tag, cam_version, class_id);
+}
+psArray *warpSkyCellMapSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -14744,5 +14744,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -14754,5 +14754,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p4SkyCellMapRow *object = p4SkyCellMapObjectFromMetadata(rowSet->data[i]);
+        warpSkyCellMapRow *object = warpSkyCellMapObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -14763,11 +14763,11 @@
     return returnSet;
 }
-bool p4SkyCellMapDeleteObject(psDB *dbh, const p4SkyCellMapRow *object)
-{
-    psMetadata *where = p4SkyCellMapMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, 0);
+bool warpSkyCellMapDeleteObject(psDB *dbh, const warpSkyCellMapRow *object)
+{
+    psMetadata *where = warpSkyCellMapMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4SkyCellMap");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyCellMap");
         return false;
     }
@@ -14775,21 +14775,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p4SkyCellMapRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p4SkyCellMapDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "warpSkyCellMapRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long warpSkyCellMapDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p4SkyCellMapRow *object = objects->data[i];
-        psMetadata *where = p4SkyCellMapMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, limit);
+        warpSkyCellMapRow *object = objects->data[i];
+        psMetadata *where = warpSkyCellMapMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4SkyCellMap");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyCellMap");
             return count;
         }
@@ -14800,5 +14800,5 @@
     return deleted;
 }
-bool p4SkyCellMapPrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool warpSkyCellMapPrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -14806,9 +14806,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p4SkyCellMapMetadataFromObject(objects->data[i]);
+        psMetadata *md = warpSkyCellMapMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P4SKYCELLMAP_TABLE_NAME,
+            WARPSKYCELLMAP_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -14831,9 +14831,9 @@
     return true;
 }
-bool p4SkyCellMapPrintObject(FILE *stream, p4SkyCellMapRow *object, bool mdcf)
+bool warpSkyCellMapPrintObject(FILE *stream, warpSkyCellMapRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p4SkyCellMapMetadataFromObject(object);
+    psMetadata *md = warpSkyCellMapMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -14846,14 +14846,14 @@
     return true;
 }
-static void p4SkyfileRowFree(p4SkyfileRow *object);
-
-p4SkyfileRow *p4SkyfileRowAlloc(psS32 p4_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
-{
-    p4SkyfileRow    *_object;
-
-    _object = psAlloc(sizeof(p4SkyfileRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p4SkyfileRowFree);
-
-    _object->p4_id = p4_id;
+static void warpSkyfileRowFree(warpSkyfileRow *object);
+
+warpSkyfileRow *warpSkyfileRowAlloc(psS32 warp_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
+{
+    warpSkyfileRow  *_object;
+
+    _object = psAlloc(sizeof(warpSkyfileRow));
+    psMemSetDeallocator(_object, (psFreeFunc)warpSkyfileRowFree);
+
+    _object->warp_id = warp_id;
     _object->skycell_id = psStringCopy(skycell_id);
     _object->tess_id = psStringCopy(tess_id);
@@ -14865,5 +14865,5 @@
 }
 
-static void p4SkyfileRowFree(p4SkyfileRow *object)
+static void warpSkyfileRowFree(warpSkyfileRow *object)
 {
     psFree(object->skycell_id);
@@ -14872,9 +14872,9 @@
 }
 
-bool p4SkyfileCreateTable(psDB *dbh)
+bool warpSkyfileCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -14906,5 +14906,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P4SKYFILE_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, WARPSKYFILE_TABLE_NAME, md);
 
     psFree(md);
@@ -14913,14 +14913,14 @@
 }
 
-bool p4SkyfileDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P4SKYFILE_TABLE_NAME);
-}
-
-bool p4SkyfileInsert(psDB * dbh, psS32 p4_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
+bool warpSkyfileDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, WARPSKYFILE_TABLE_NAME);
+}
+
+bool warpSkyfileInsert(psDB * dbh, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, p4_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -14952,5 +14952,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P4SKYFILE_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, WARPSKYFILE_TABLE_NAME, md);
     psFree(md);
 
@@ -14958,11 +14958,11 @@
 }
 
-long long p4SkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long warpSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P4SKYFILE_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, WARPSKYFILE_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Skyfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyfile");
         return count;
 
@@ -14972,13 +14972,13 @@
     return deleted;
 }
-bool p4SkyfileInsertObject(psDB *dbh, p4SkyfileRow *object)
-{
-    return p4SkyfileInsert(dbh, object->p4_id, object->skycell_id, object->tess_id, object->uri, object->bg, object->bg_mean_stdev);
-}
-
-bool p4SkyfileInsertObjects(psDB *dbh, psArray *objects)
+bool warpSkyfileInsertObject(psDB *dbh, warpSkyfileRow *object)
+{
+    return warpSkyfileInsert(dbh, object->warp_id, object->skycell_id, object->tess_id, object->uri, object->bg, object->bg_mean_stdev);
+}
+
+bool warpSkyfileInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p4SkyfileInsertObject(dbh, objects->data[i])) {
+        if (!warpSkyfileInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -14988,11 +14988,11 @@
 }
 
-bool p4SkyfileInsertFits(psDB *dbh, const psFits *fits)
+bool warpSkyfileInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P4SKYFILE_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P4SKYFILE_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4SKYFILE_TABLE_NAME);
+    // move to (the first?) extension named  WARPSKYFILE_TABLE_NAME
+    if (!psFitsMoveExtName(fits, WARPSKYFILE_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", WARPSKYFILE_TABLE_NAME);
         return false;
     }
@@ -15012,5 +15012,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P4SKYFILE_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, WARPSKYFILE_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -15023,9 +15023,9 @@
 }
 
-bool p4SkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool warpSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P4SKYFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, WARPSKYFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -15033,5 +15033,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P4SKYFILE_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, WARPSKYFILE_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -15044,9 +15044,9 @@
 }
 
-psMetadata *p4SkyfileMetadataFromObject(const p4SkyfileRow *object)
+psMetadata *warpSkyfileMetadataFromObject(const warpSkyfileRow *object)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, object->p4_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -15082,11 +15082,11 @@
 }
 
-p4SkyfileRow *p4SkyfileObjectFromMetadata(psMetadata *md)
+warpSkyfileRow *warpSkyfileObjectFromMetadata(psMetadata *md)
 {
 
 bool status = false;
-    psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");
+    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
         return false;
     }
@@ -15117,7 +15117,7 @@
     }
 
-    return p4SkyfileRowAlloc(p4_id, skycell_id, tess_id, uri, bg, bg_mean_stdev);
-}
-psArray *p4SkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return warpSkyfileRowAlloc(warp_id, skycell_id, tess_id, uri, bg, bg_mean_stdev);
+}
+psArray *warpSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -15125,5 +15125,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P4SKYFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, WARPSKYFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -15135,5 +15135,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p4SkyfileRow *object = p4SkyfileObjectFromMetadata(rowSet->data[i]);
+        warpSkyfileRow *object = warpSkyfileObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -15144,11 +15144,11 @@
     return returnSet;
 }
-bool p4SkyfileDeleteObject(psDB *dbh, const p4SkyfileRow *object)
-{
-    psMetadata *where = p4SkyfileMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P4SKYFILE_TABLE_NAME, where, 0);
+bool warpSkyfileDeleteObject(psDB *dbh, const warpSkyfileRow *object)
+{
+    psMetadata *where = warpSkyfileMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, WARPSKYFILE_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Skyfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyfile");
         return false;
     }
@@ -15156,21 +15156,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p4SkyfileRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p4SkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "warpSkyfileRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long warpSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p4SkyfileRow *object = objects->data[i];
-        psMetadata *where = p4SkyfileMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P4SKYFILE_TABLE_NAME, where, limit);
+        warpSkyfileRow *object = objects->data[i];
+        psMetadata *where = warpSkyfileMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, WARPSKYFILE_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Skyfile");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyfile");
             return count;
         }
@@ -15181,5 +15181,5 @@
     return deleted;
 }
-bool p4SkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool warpSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -15187,9 +15187,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p4SkyfileMetadataFromObject(objects->data[i]);
+        psMetadata *md = warpSkyfileMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P4SKYFILE_TABLE_NAME,
+            WARPSKYFILE_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -15212,9 +15212,9 @@
     return true;
 }
-bool p4SkyfilePrintObject(FILE *stream, p4SkyfileRow *object, bool mdcf)
+bool warpSkyfilePrintObject(FILE *stream, warpSkyfileRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p4SkyfileMetadataFromObject(object);
+    psMetadata *md = warpSkyfileMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -15227,14 +15227,14 @@
     return true;
 }
-static void p5RunRowFree(p5RunRow *object);
-
-p5RunRow *p5RunRowAlloc(psS32 p5_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
-{
-    p5RunRow        *_object;
-
-    _object = psAlloc(sizeof(p5RunRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p5RunRowFree);
-
-    _object->p5_id = p5_id;
+static void diffRunRowFree(diffRunRow *object);
+
+diffRunRow *diffRunRowAlloc(psS32 diff_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
+{
+    diffRunRow      *_object;
+
+    _object = psAlloc(sizeof(diffRunRow));
+    psMemSetDeallocator(_object, (psFreeFunc)diffRunRowFree);
+
+    _object->diff_id = diff_id;
     _object->state = psStringCopy(state);
     _object->workdir = psStringCopy(workdir);
@@ -15247,5 +15247,5 @@
 }
 
-static void p5RunRowFree(p5RunRow *object)
+static void diffRunRowFree(diffRunRow *object)
 {
     psFree(object->state);
@@ -15257,9 +15257,9 @@
 }
 
-bool p5RunCreateTable(psDB *dbh)
+bool diffRunCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
         return false;
@@ -15296,5 +15296,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P5RUN_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, DIFFRUN_TABLE_NAME, md);
 
     psFree(md);
@@ -15303,14 +15303,14 @@
 }
 
-bool p5RunDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P5RUN_TABLE_NAME);
-}
-
-bool p5RunInsert(psDB * dbh, psS32 p5_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
+bool diffRunDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, DIFFRUN_TABLE_NAME);
+}
+
+bool diffRunInsert(psDB * dbh, psS32 diff_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, NULL, p5_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, diff_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
         return false;
@@ -15347,5 +15347,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P5RUN_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, DIFFRUN_TABLE_NAME, md);
     psFree(md);
 
@@ -15353,11 +15353,11 @@
 }
 
-long long p5RunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long diffRunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P5RUN_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, DIFFRUN_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5Run");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffRun");
         return count;
 
@@ -15367,13 +15367,13 @@
     return deleted;
 }
-bool p5RunInsertObject(psDB *dbh, p5RunRow *object)
-{
-    return p5RunInsert(dbh, object->p5_id, object->state, object->workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id);
-}
-
-bool p5RunInsertObjects(psDB *dbh, psArray *objects)
+bool diffRunInsertObject(psDB *dbh, diffRunRow *object)
+{
+    return diffRunInsert(dbh, object->diff_id, object->state, object->workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id);
+}
+
+bool diffRunInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p5RunInsertObject(dbh, objects->data[i])) {
+        if (!diffRunInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -15383,11 +15383,11 @@
 }
 
-bool p5RunInsertFits(psDB *dbh, const psFits *fits)
+bool diffRunInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P5RUN_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P5RUN_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P5RUN_TABLE_NAME);
+    // move to (the first?) extension named  DIFFRUN_TABLE_NAME
+    if (!psFitsMoveExtName(fits, DIFFRUN_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DIFFRUN_TABLE_NAME);
         return false;
     }
@@ -15407,5 +15407,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P5RUN_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, DIFFRUN_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -15418,9 +15418,9 @@
 }
 
-bool p5RunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool diffRunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P5RUN_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, DIFFRUN_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -15428,5 +15428,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P5RUN_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, DIFFRUN_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -15439,9 +15439,9 @@
 }
 
-psMetadata *p5RunMetadataFromObject(const p5RunRow *object)
+psMetadata *diffRunMetadataFromObject(const diffRunRow *object)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, NULL, object->p5_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, object->diff_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
         return false;
@@ -15482,11 +15482,11 @@
 }
 
-p5RunRow *p5RunObjectFromMetadata(psMetadata *md)
+diffRunRow *diffRunObjectFromMetadata(psMetadata *md)
 {
 
 bool status = false;
-    psS32 p5_id = psMetadataLookupS32(&status, md, "p5_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p5_id");
+    psS32 diff_id = psMetadataLookupS32(&status, md, "diff_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item diff_id");
         return false;
     }
@@ -15522,7 +15522,7 @@
     }
 
-    return p5RunRowAlloc(p5_id, state, workdir, dvodb, registered, skycell_id, tess_id);
-}
-psArray *p5RunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return diffRunRowAlloc(diff_id, state, workdir, dvodb, registered, skycell_id, tess_id);
+}
+psArray *diffRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -15530,5 +15530,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P5RUN_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, DIFFRUN_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -15540,5 +15540,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p5RunRow *object = p5RunObjectFromMetadata(rowSet->data[i]);
+        diffRunRow *object = diffRunObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -15549,11 +15549,11 @@
     return returnSet;
 }
-bool p5RunDeleteObject(psDB *dbh, const p5RunRow *object)
-{
-    psMetadata *where = p5RunMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P5RUN_TABLE_NAME, where, 0);
+bool diffRunDeleteObject(psDB *dbh, const diffRunRow *object)
+{
+    psMetadata *where = diffRunMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, DIFFRUN_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5Run");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffRun");
         return false;
     }
@@ -15561,21 +15561,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p5RunRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p5RunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "diffRunRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long diffRunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p5RunRow *object = objects->data[i];
-        psMetadata *where = p5RunMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P5RUN_TABLE_NAME, where, limit);
+        diffRunRow *object = objects->data[i];
+        psMetadata *where = diffRunMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, DIFFRUN_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5Run");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffRun");
             return count;
         }
@@ -15586,5 +15586,5 @@
     return deleted;
 }
-bool p5RunPrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool diffRunPrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -15592,9 +15592,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p5RunMetadataFromObject(objects->data[i]);
+        psMetadata *md = diffRunMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P5RUN_TABLE_NAME,
+            DIFFRUN_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -15617,9 +15617,9 @@
     return true;
 }
-bool p5RunPrintObject(FILE *stream, p5RunRow *object, bool mdcf)
+bool diffRunPrintObject(FILE *stream, diffRunRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p5RunMetadataFromObject(object);
+    psMetadata *md = diffRunMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -15632,15 +15632,15 @@
     return true;
 }
-static void p5InputSkyfileRowFree(p5InputSkyfileRow *object);
-
-p5InputSkyfileRow *p5InputSkyfileRowAlloc(psS32 p5_id, psS32 p4_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)
-{
-    p5InputSkyfileRow *_object;
-
-    _object = psAlloc(sizeof(p5InputSkyfileRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p5InputSkyfileRowFree);
-
-    _object->p5_id = p5_id;
-    _object->p4_id = p4_id;
+static void diffInputSkyfileRowFree(diffInputSkyfileRow *object);
+
+diffInputSkyfileRow *diffInputSkyfileRowAlloc(psS32 diff_id, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)
+{
+    diffInputSkyfileRow *_object;
+
+    _object = psAlloc(sizeof(diffInputSkyfileRow));
+    psMemSetDeallocator(_object, (psFreeFunc)diffInputSkyfileRowFree);
+
+    _object->diff_id = diff_id;
+    _object->warp_id = warp_id;
     _object->skycell_id = psStringCopy(skycell_id);
     _object->tess_id = psStringCopy(tess_id);
@@ -15651,5 +15651,5 @@
 }
 
-static void p5InputSkyfileRowFree(p5InputSkyfileRow *object)
+static void diffInputSkyfileRowFree(diffInputSkyfileRow *object)
 {
     psFree(object->skycell_id);
@@ -15658,14 +15658,14 @@
 }
 
-bool p5InputSkyfileCreateTable(psDB *dbh)
+bool diffInputSkyfileCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -15692,5 +15692,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P5INPUTSKYFILE_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, DIFFINPUTSKYFILE_TABLE_NAME, md);
 
     psFree(md);
@@ -15699,19 +15699,19 @@
 }
 
-bool p5InputSkyfileDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P5INPUTSKYFILE_TABLE_NAME);
-}
-
-bool p5InputSkyfileInsert(psDB * dbh, psS32 p5_id, psS32 p4_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)
+bool diffInputSkyfileDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, DIFFINPUTSKYFILE_TABLE_NAME);
+}
+
+bool diffInputSkyfileInsert(psDB * dbh, psS32 diff_id, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, NULL, p5_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, p4_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, diff_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -15738,5 +15738,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P5INPUTSKYFILE_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, DIFFINPUTSKYFILE_TABLE_NAME, md);
     psFree(md);
 
@@ -15744,11 +15744,11 @@
 }
 
-long long p5InputSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long diffInputSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5InputSkyfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffInputSkyfile");
         return count;
 
@@ -15758,13 +15758,13 @@
     return deleted;
 }
-bool p5InputSkyfileInsertObject(psDB *dbh, p5InputSkyfileRow *object)
-{
-    return p5InputSkyfileInsert(dbh, object->p5_id, object->p4_id, object->skycell_id, object->tess_id, object->kind, object->template);
-}
-
-bool p5InputSkyfileInsertObjects(psDB *dbh, psArray *objects)
+bool diffInputSkyfileInsertObject(psDB *dbh, diffInputSkyfileRow *object)
+{
+    return diffInputSkyfileInsert(dbh, object->diff_id, object->warp_id, object->skycell_id, object->tess_id, object->kind, object->template);
+}
+
+bool diffInputSkyfileInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p5InputSkyfileInsertObject(dbh, objects->data[i])) {
+        if (!diffInputSkyfileInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -15774,11 +15774,11 @@
 }
 
-bool p5InputSkyfileInsertFits(psDB *dbh, const psFits *fits)
+bool diffInputSkyfileInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P5INPUTSKYFILE_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P5INPUTSKYFILE_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P5INPUTSKYFILE_TABLE_NAME);
+    // move to (the first?) extension named  DIFFINPUTSKYFILE_TABLE_NAME
+    if (!psFitsMoveExtName(fits, DIFFINPUTSKYFILE_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DIFFINPUTSKYFILE_TABLE_NAME);
         return false;
     }
@@ -15798,5 +15798,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P5INPUTSKYFILE_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -15809,9 +15809,9 @@
 }
 
-bool p5InputSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool diffInputSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -15819,5 +15819,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P5INPUTSKYFILE_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, DIFFINPUTSKYFILE_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -15830,14 +15830,14 @@
 }
 
-psMetadata *p5InputSkyfileMetadataFromObject(const p5InputSkyfileRow *object)
+psMetadata *diffInputSkyfileMetadataFromObject(const diffInputSkyfileRow *object)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, NULL, object->p5_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, object->p4_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, object->diff_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -15868,16 +15868,16 @@
 }
 
-p5InputSkyfileRow *p5InputSkyfileObjectFromMetadata(psMetadata *md)
+diffInputSkyfileRow *diffInputSkyfileObjectFromMetadata(psMetadata *md)
 {
 
 bool status = false;
-    psS32 p5_id = psMetadataLookupS32(&status, md, "p5_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p5_id");
-        return false;
-    }
-    psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");
+    psS32 diff_id = psMetadataLookupS32(&status, md, "diff_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item diff_id");
+        return false;
+    }
+    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
         return false;
     }
@@ -15903,7 +15903,7 @@
     }
 
-    return p5InputSkyfileRowAlloc(p5_id, p4_id, skycell_id, tess_id, kind, template);
-}
-psArray *p5InputSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return diffInputSkyfileRowAlloc(diff_id, warp_id, skycell_id, tess_id, kind, template);
+}
+psArray *diffInputSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -15911,5 +15911,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -15921,5 +15921,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p5InputSkyfileRow *object = p5InputSkyfileObjectFromMetadata(rowSet->data[i]);
+        diffInputSkyfileRow *object = diffInputSkyfileObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -15930,11 +15930,11 @@
     return returnSet;
 }
-bool p5InputSkyfileDeleteObject(psDB *dbh, const p5InputSkyfileRow *object)
-{
-    psMetadata *where = p5InputSkyfileMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, 0);
+bool diffInputSkyfileDeleteObject(psDB *dbh, const diffInputSkyfileRow *object)
+{
+    psMetadata *where = diffInputSkyfileMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5InputSkyfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffInputSkyfile");
         return false;
     }
@@ -15942,21 +15942,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p5InputSkyfileRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p5InputSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "diffInputSkyfileRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long diffInputSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p5InputSkyfileRow *object = objects->data[i];
-        psMetadata *where = p5InputSkyfileMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, limit);
+        diffInputSkyfileRow *object = objects->data[i];
+        psMetadata *where = diffInputSkyfileMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5InputSkyfile");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffInputSkyfile");
             return count;
         }
@@ -15967,5 +15967,5 @@
     return deleted;
 }
-bool p5InputSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool diffInputSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -15973,9 +15973,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p5InputSkyfileMetadataFromObject(objects->data[i]);
+        psMetadata *md = diffInputSkyfileMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P5INPUTSKYFILE_TABLE_NAME,
+            DIFFINPUTSKYFILE_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -15998,9 +15998,9 @@
     return true;
 }
-bool p5InputSkyfilePrintObject(FILE *stream, p5InputSkyfileRow *object, bool mdcf)
+bool diffInputSkyfilePrintObject(FILE *stream, diffInputSkyfileRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p5InputSkyfileMetadataFromObject(object);
+    psMetadata *md = diffInputSkyfileMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -16013,14 +16013,14 @@
     return true;
 }
-static void p5DiffSkyfileRowFree(p5DiffSkyfileRow *object);
-
-p5DiffSkyfileRow *p5DiffSkyfileRowAlloc(psS32 p5_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
-{
-    p5DiffSkyfileRow *_object;
-
-    _object = psAlloc(sizeof(p5DiffSkyfileRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p5DiffSkyfileRowFree);
-
-    _object->p5_id = p5_id;
+static void diffSkyfileRowFree(diffSkyfileRow *object);
+
+diffSkyfileRow *diffSkyfileRowAlloc(psS32 diff_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
+{
+    diffSkyfileRow  *_object;
+
+    _object = psAlloc(sizeof(diffSkyfileRow));
+    psMemSetDeallocator(_object, (psFreeFunc)diffSkyfileRowFree);
+
+    _object->diff_id = diff_id;
     _object->uri = psStringCopy(uri);
     _object->bg = bg;
@@ -16030,14 +16030,14 @@
 }
 
-static void p5DiffSkyfileRowFree(p5DiffSkyfileRow *object)
+static void diffSkyfileRowFree(diffSkyfileRow *object)
 {
     psFree(object->uri);
 }
 
-bool p5DiffSkyfileCreateTable(psDB *dbh)
+bool diffSkyfileCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
         return false;
@@ -16059,5 +16059,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P5DIFFSKYFILE_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, DIFFSKYFILE_TABLE_NAME, md);
 
     psFree(md);
@@ -16066,14 +16066,14 @@
 }
 
-bool p5DiffSkyfileDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P5DIFFSKYFILE_TABLE_NAME);
-}
-
-bool p5DiffSkyfileInsert(psDB * dbh, psS32 p5_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
+bool diffSkyfileDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, DIFFSKYFILE_TABLE_NAME);
+}
+
+bool diffSkyfileInsert(psDB * dbh, psS32 diff_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, NULL, p5_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, diff_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
         return false;
@@ -16095,5 +16095,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P5DIFFSKYFILE_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, DIFFSKYFILE_TABLE_NAME, md);
     psFree(md);
 
@@ -16101,11 +16101,11 @@
 }
 
-long long p5DiffSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long diffSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, DIFFSKYFILE_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5DiffSkyfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffSkyfile");
         return count;
 
@@ -16115,13 +16115,13 @@
     return deleted;
 }
-bool p5DiffSkyfileInsertObject(psDB *dbh, p5DiffSkyfileRow *object)
-{
-    return p5DiffSkyfileInsert(dbh, object->p5_id, object->uri, object->bg, object->bg_mean_stdev);
-}
-
-bool p5DiffSkyfileInsertObjects(psDB *dbh, psArray *objects)
+bool diffSkyfileInsertObject(psDB *dbh, diffSkyfileRow *object)
+{
+    return diffSkyfileInsert(dbh, object->diff_id, object->uri, object->bg, object->bg_mean_stdev);
+}
+
+bool diffSkyfileInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p5DiffSkyfileInsertObject(dbh, objects->data[i])) {
+        if (!diffSkyfileInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -16131,11 +16131,11 @@
 }
 
-bool p5DiffSkyfileInsertFits(psDB *dbh, const psFits *fits)
+bool diffSkyfileInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P5DIFFSKYFILE_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P5DIFFSKYFILE_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P5DIFFSKYFILE_TABLE_NAME);
+    // move to (the first?) extension named  DIFFSKYFILE_TABLE_NAME
+    if (!psFitsMoveExtName(fits, DIFFSKYFILE_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DIFFSKYFILE_TABLE_NAME);
         return false;
     }
@@ -16155,5 +16155,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P5DIFFSKYFILE_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, DIFFSKYFILE_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -16166,9 +16166,9 @@
 }
 
-bool p5DiffSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool diffSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, DIFFSKYFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -16176,5 +16176,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P5DIFFSKYFILE_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, DIFFSKYFILE_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -16187,9 +16187,9 @@
 }
 
-psMetadata *p5DiffSkyfileMetadataFromObject(const p5DiffSkyfileRow *object)
+psMetadata *diffSkyfileMetadataFromObject(const diffSkyfileRow *object)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, NULL, object->p5_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, object->diff_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
         psFree(md);
         return false;
@@ -16215,11 +16215,11 @@
 }
 
-p5DiffSkyfileRow *p5DiffSkyfileObjectFromMetadata(psMetadata *md)
+diffSkyfileRow *diffSkyfileObjectFromMetadata(psMetadata *md)
 {
 
 bool status = false;
-    psS32 p5_id = psMetadataLookupS32(&status, md, "p5_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p5_id");
+    psS32 diff_id = psMetadataLookupS32(&status, md, "diff_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item diff_id");
         return false;
     }
@@ -16240,7 +16240,7 @@
     }
 
-    return p5DiffSkyfileRowAlloc(p5_id, uri, bg, bg_mean_stdev);
-}
-psArray *p5DiffSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return diffSkyfileRowAlloc(diff_id, uri, bg, bg_mean_stdev);
+}
+psArray *diffSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -16248,5 +16248,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, DIFFSKYFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -16258,5 +16258,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p5DiffSkyfileRow *object = p5DiffSkyfileObjectFromMetadata(rowSet->data[i]);
+        diffSkyfileRow *object = diffSkyfileObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -16267,11 +16267,11 @@
     return returnSet;
 }
-bool p5DiffSkyfileDeleteObject(psDB *dbh, const p5DiffSkyfileRow *object)
-{
-    psMetadata *where = p5DiffSkyfileMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, 0);
+bool diffSkyfileDeleteObject(psDB *dbh, const diffSkyfileRow *object)
+{
+    psMetadata *where = diffSkyfileMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, DIFFSKYFILE_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5DiffSkyfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffSkyfile");
         return false;
     }
@@ -16279,21 +16279,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p5DiffSkyfileRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p5DiffSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "diffSkyfileRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long diffSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p5DiffSkyfileRow *object = objects->data[i];
-        psMetadata *where = p5DiffSkyfileMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, limit);
+        diffSkyfileRow *object = objects->data[i];
+        psMetadata *where = diffSkyfileMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, DIFFSKYFILE_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5DiffSkyfile");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffSkyfile");
             return count;
         }
@@ -16304,5 +16304,5 @@
     return deleted;
 }
-bool p5DiffSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool diffSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -16310,9 +16310,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p5DiffSkyfileMetadataFromObject(objects->data[i]);
+        psMetadata *md = diffSkyfileMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P5DIFFSKYFILE_TABLE_NAME,
+            DIFFSKYFILE_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -16335,9 +16335,9 @@
     return true;
 }
-bool p5DiffSkyfilePrintObject(FILE *stream, p5DiffSkyfileRow *object, bool mdcf)
+bool diffSkyfilePrintObject(FILE *stream, diffSkyfileRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p5DiffSkyfileMetadataFromObject(object);
+    psMetadata *md = diffSkyfileMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -16350,14 +16350,14 @@
     return true;
 }
-static void p6RunRowFree(p6RunRow *object);
-
-p6RunRow *p6RunRowAlloc(psS32 p6_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
-{
-    p6RunRow        *_object;
-
-    _object = psAlloc(sizeof(p6RunRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p6RunRowFree);
-
-    _object->p6_id = p6_id;
+static void stackRunRowFree(stackRunRow *object);
+
+stackRunRow *stackRunRowAlloc(psS32 stack_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
+{
+    stackRunRow     *_object;
+
+    _object = psAlloc(sizeof(stackRunRow));
+    psMemSetDeallocator(_object, (psFreeFunc)stackRunRowFree);
+
+    _object->stack_id = stack_id;
     _object->state = psStringCopy(state);
     _object->workdir = psStringCopy(workdir);
@@ -16370,5 +16370,5 @@
 }
 
-static void p6RunRowFree(p6RunRow *object)
+static void stackRunRowFree(stackRunRow *object)
 {
     psFree(object->state);
@@ -16380,9 +16380,9 @@
 }
 
-bool p6RunCreateTable(psDB *dbh)
+bool stackRunCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
         return false;
@@ -16419,5 +16419,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P6RUN_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, STACKRUN_TABLE_NAME, md);
 
     psFree(md);
@@ -16426,14 +16426,14 @@
 }
 
-bool p6RunDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P6RUN_TABLE_NAME);
-}
-
-bool p6RunInsert(psDB * dbh, psS32 p6_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
+bool stackRunDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, STACKRUN_TABLE_NAME);
+}
+
+bool stackRunInsert(psDB * dbh, psS32 stack_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, NULL, p6_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, stack_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
         return false;
@@ -16470,5 +16470,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P6RUN_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, STACKRUN_TABLE_NAME, md);
     psFree(md);
 
@@ -16476,11 +16476,11 @@
 }
 
-long long p6RunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long stackRunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P6RUN_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, STACKRUN_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6Run");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackRun");
         return count;
 
@@ -16490,13 +16490,13 @@
     return deleted;
 }
-bool p6RunInsertObject(psDB *dbh, p6RunRow *object)
-{
-    return p6RunInsert(dbh, object->p6_id, object->state, object->workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id);
-}
-
-bool p6RunInsertObjects(psDB *dbh, psArray *objects)
+bool stackRunInsertObject(psDB *dbh, stackRunRow *object)
+{
+    return stackRunInsert(dbh, object->stack_id, object->state, object->workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id);
+}
+
+bool stackRunInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p6RunInsertObject(dbh, objects->data[i])) {
+        if (!stackRunInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -16506,11 +16506,11 @@
 }
 
-bool p6RunInsertFits(psDB *dbh, const psFits *fits)
+bool stackRunInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P6RUN_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P6RUN_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P6RUN_TABLE_NAME);
+    // move to (the first?) extension named  STACKRUN_TABLE_NAME
+    if (!psFitsMoveExtName(fits, STACKRUN_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", STACKRUN_TABLE_NAME);
         return false;
     }
@@ -16530,5 +16530,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P6RUN_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, STACKRUN_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -16541,9 +16541,9 @@
 }
 
-bool p6RunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool stackRunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P6RUN_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, STACKRUN_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -16551,5 +16551,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P6RUN_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, STACKRUN_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -16562,9 +16562,9 @@
 }
 
-psMetadata *p6RunMetadataFromObject(const p6RunRow *object)
+psMetadata *stackRunMetadataFromObject(const stackRunRow *object)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, NULL, object->p6_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, object->stack_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
         return false;
@@ -16605,11 +16605,11 @@
 }
 
-p6RunRow *p6RunObjectFromMetadata(psMetadata *md)
+stackRunRow *stackRunObjectFromMetadata(psMetadata *md)
 {
 
 bool status = false;
-    psS32 p6_id = psMetadataLookupS32(&status, md, "p6_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p6_id");
+    psS32 stack_id = psMetadataLookupS32(&status, md, "stack_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stack_id");
         return false;
     }
@@ -16645,7 +16645,7 @@
     }
 
-    return p6RunRowAlloc(p6_id, state, workdir, dvodb, registered, skycell_id, tess_id);
-}
-psArray *p6RunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return stackRunRowAlloc(stack_id, state, workdir, dvodb, registered, skycell_id, tess_id);
+}
+psArray *stackRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -16653,5 +16653,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P6RUN_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, STACKRUN_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -16663,5 +16663,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p6RunRow *object = p6RunObjectFromMetadata(rowSet->data[i]);
+        stackRunRow *object = stackRunObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -16672,11 +16672,11 @@
     return returnSet;
 }
-bool p6RunDeleteObject(psDB *dbh, const p6RunRow *object)
-{
-    psMetadata *where = p6RunMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P6RUN_TABLE_NAME, where, 0);
+bool stackRunDeleteObject(psDB *dbh, const stackRunRow *object)
+{
+    psMetadata *where = stackRunMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, STACKRUN_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6Run");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackRun");
         return false;
     }
@@ -16684,21 +16684,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p6RunRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p6RunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "stackRunRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long stackRunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p6RunRow *object = objects->data[i];
-        psMetadata *where = p6RunMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P6RUN_TABLE_NAME, where, limit);
+        stackRunRow *object = objects->data[i];
+        psMetadata *where = stackRunMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, STACKRUN_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6Run");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackRun");
             return count;
         }
@@ -16709,5 +16709,5 @@
     return deleted;
 }
-bool p6RunPrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool stackRunPrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -16715,9 +16715,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p6RunMetadataFromObject(objects->data[i]);
+        psMetadata *md = stackRunMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P6RUN_TABLE_NAME,
+            STACKRUN_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -16740,9 +16740,9 @@
     return true;
 }
-bool p6RunPrintObject(FILE *stream, p6RunRow *object, bool mdcf)
+bool stackRunPrintObject(FILE *stream, stackRunRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p6RunMetadataFromObject(object);
+    psMetadata *md = stackRunMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -16755,38 +16755,38 @@
     return true;
 }
-static void p6InputSkyfileRowFree(p6InputSkyfileRow *object);
-
-p6InputSkyfileRow *p6InputSkyfileRowAlloc(psS32 p6_id, psS32 p4_id)
-{
-    p6InputSkyfileRow *_object;
-
-    _object = psAlloc(sizeof(p6InputSkyfileRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p6InputSkyfileRowFree);
-
-    _object->p6_id = p6_id;
-    _object->p4_id = p4_id;
+static void stackInputSkyfileRowFree(stackInputSkyfileRow *object);
+
+stackInputSkyfileRow *stackInputSkyfileRowAlloc(psS32 stack_id, psS32 warp_id)
+{
+    stackInputSkyfileRow *_object;
+
+    _object = psAlloc(sizeof(stackInputSkyfileRow));
+    psMemSetDeallocator(_object, (psFreeFunc)stackInputSkyfileRowFree);
+
+    _object->stack_id = stack_id;
+    _object->warp_id = warp_id;
 
     return _object;
 }
 
-static void p6InputSkyfileRowFree(p6InputSkyfileRow *object)
-{
-}
-
-bool p6InputSkyfileCreateTable(psDB *dbh)
+static void stackInputSkyfileRowFree(stackInputSkyfileRow *object)
+{
+}
+
+bool stackInputSkyfileCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
-        psFree(md);
-        return false;
-    }
-
-    bool status = psDBCreateTable(dbh, P6INPUTSKYFILE_TABLE_NAME, md);
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
+        psFree(md);
+        return false;
+    }
+
+    bool status = psDBCreateTable(dbh, STACKINPUTSKYFILE_TABLE_NAME, md);
 
     psFree(md);
@@ -16795,24 +16795,24 @@
 }
 
-bool p6InputSkyfileDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P6INPUTSKYFILE_TABLE_NAME);
-}
-
-bool p6InputSkyfileInsert(psDB * dbh, psS32 p6_id, psS32 p4_id)
+bool stackInputSkyfileDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, STACKINPUTSKYFILE_TABLE_NAME);
+}
+
+bool stackInputSkyfileInsert(psDB * dbh, psS32 stack_id, psS32 warp_id)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, NULL, p6_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, p4_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
-        psFree(md);
-        return false;
-    }
-
-    bool status = psDBInsertOneRow(dbh, P6INPUTSKYFILE_TABLE_NAME, md);
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, stack_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
+        psFree(md);
+        return false;
+    }
+
+    bool status = psDBInsertOneRow(dbh, STACKINPUTSKYFILE_TABLE_NAME, md);
     psFree(md);
 
@@ -16820,11 +16820,11 @@
 }
 
-long long p6InputSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long stackInputSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6InputSkyfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackInputSkyfile");
         return count;
 
@@ -16834,13 +16834,13 @@
     return deleted;
 }
-bool p6InputSkyfileInsertObject(psDB *dbh, p6InputSkyfileRow *object)
-{
-    return p6InputSkyfileInsert(dbh, object->p6_id, object->p4_id);
-}
-
-bool p6InputSkyfileInsertObjects(psDB *dbh, psArray *objects)
+bool stackInputSkyfileInsertObject(psDB *dbh, stackInputSkyfileRow *object)
+{
+    return stackInputSkyfileInsert(dbh, object->stack_id, object->warp_id);
+}
+
+bool stackInputSkyfileInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p6InputSkyfileInsertObject(dbh, objects->data[i])) {
+        if (!stackInputSkyfileInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -16850,11 +16850,11 @@
 }
 
-bool p6InputSkyfileInsertFits(psDB *dbh, const psFits *fits)
+bool stackInputSkyfileInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P6INPUTSKYFILE_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P6INPUTSKYFILE_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P6INPUTSKYFILE_TABLE_NAME);
+    // move to (the first?) extension named  STACKINPUTSKYFILE_TABLE_NAME
+    if (!psFitsMoveExtName(fits, STACKINPUTSKYFILE_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", STACKINPUTSKYFILE_TABLE_NAME);
         return false;
     }
@@ -16874,5 +16874,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P6INPUTSKYFILE_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -16885,9 +16885,9 @@
 }
 
-bool p6InputSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool stackInputSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -16895,5 +16895,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P6INPUTSKYFILE_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, STACKINPUTSKYFILE_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -16906,14 +16906,14 @@
 }
 
-psMetadata *p6InputSkyfileMetadataFromObject(const p6InputSkyfileRow *object)
+psMetadata *stackInputSkyfileMetadataFromObject(const stackInputSkyfileRow *object)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, NULL, object->p6_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, object->p4_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, object->stack_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
         psFree(md);
         return false;
@@ -16924,22 +16924,22 @@
 }
 
-p6InputSkyfileRow *p6InputSkyfileObjectFromMetadata(psMetadata *md)
+stackInputSkyfileRow *stackInputSkyfileObjectFromMetadata(psMetadata *md)
 {
 
 bool status = false;
-    psS32 p6_id = psMetadataLookupS32(&status, md, "p6_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p6_id");
-        return false;
-    }
-    psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");
-        return false;
-    }
-
-    return p6InputSkyfileRowAlloc(p6_id, p4_id);
-}
-psArray *p6InputSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    psS32 stack_id = psMetadataLookupS32(&status, md, "stack_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stack_id");
+        return false;
+    }
+    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
+        return false;
+    }
+
+    return stackInputSkyfileRowAlloc(stack_id, warp_id);
+}
+psArray *stackInputSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -16947,5 +16947,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -16957,5 +16957,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p6InputSkyfileRow *object = p6InputSkyfileObjectFromMetadata(rowSet->data[i]);
+        stackInputSkyfileRow *object = stackInputSkyfileObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -16966,11 +16966,11 @@
     return returnSet;
 }
-bool p6InputSkyfileDeleteObject(psDB *dbh, const p6InputSkyfileRow *object)
-{
-    psMetadata *where = p6InputSkyfileMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, 0);
+bool stackInputSkyfileDeleteObject(psDB *dbh, const stackInputSkyfileRow *object)
+{
+    psMetadata *where = stackInputSkyfileMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6InputSkyfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackInputSkyfile");
         return false;
     }
@@ -16978,21 +16978,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p6InputSkyfileRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p6InputSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "stackInputSkyfileRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long stackInputSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p6InputSkyfileRow *object = objects->data[i];
-        psMetadata *where = p6InputSkyfileMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, limit);
+        stackInputSkyfileRow *object = objects->data[i];
+        psMetadata *where = stackInputSkyfileMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6InputSkyfile");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackInputSkyfile");
             return count;
         }
@@ -17003,5 +17003,5 @@
     return deleted;
 }
-bool p6InputSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool stackInputSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -17009,9 +17009,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p6InputSkyfileMetadataFromObject(objects->data[i]);
+        psMetadata *md = stackInputSkyfileMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P6INPUTSKYFILE_TABLE_NAME,
+            STACKINPUTSKYFILE_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -17034,9 +17034,9 @@
     return true;
 }
-bool p6InputSkyfilePrintObject(FILE *stream, p6InputSkyfileRow *object, bool mdcf)
+bool stackInputSkyfilePrintObject(FILE *stream, stackInputSkyfileRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p6InputSkyfileMetadataFromObject(object);
+    psMetadata *md = stackInputSkyfileMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
@@ -17049,14 +17049,14 @@
     return true;
 }
-static void p6SumSkyfileRowFree(p6SumSkyfileRow *object);
-
-p6SumSkyfileRow *p6SumSkyfileRowAlloc(psS32 p6_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
-{
-    p6SumSkyfileRow *_object;
-
-    _object = psAlloc(sizeof(p6SumSkyfileRow));
-    psMemSetDeallocator(_object, (psFreeFunc)p6SumSkyfileRowFree);
-
-    _object->p6_id = p6_id;
+static void stackSumSkyfileRowFree(stackSumSkyfileRow *object);
+
+stackSumSkyfileRow *stackSumSkyfileRowAlloc(psS32 stack_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
+{
+    stackSumSkyfileRow *_object;
+
+    _object = psAlloc(sizeof(stackSumSkyfileRow));
+    psMemSetDeallocator(_object, (psFreeFunc)stackSumSkyfileRowFree);
+
+    _object->stack_id = stack_id;
     _object->uri = psStringCopy(uri);
     _object->bg = bg;
@@ -17066,14 +17066,14 @@
 }
 
-static void p6SumSkyfileRowFree(p6SumSkyfileRow *object)
+static void stackSumSkyfileRowFree(stackSumSkyfileRow *object)
 {
     psFree(object->uri);
 }
 
-bool p6SumSkyfileCreateTable(psDB *dbh)
+bool stackSumSkyfileCreateTable(psDB *dbh)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, "Primary Key", 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, "Primary Key", 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
         return false;
@@ -17095,5 +17095,5 @@
     }
 
-    bool status = psDBCreateTable(dbh, P6SUMSKYFILE_TABLE_NAME, md);
+    bool status = psDBCreateTable(dbh, STACKSUMSKYFILE_TABLE_NAME, md);
 
     psFree(md);
@@ -17102,14 +17102,14 @@
 }
 
-bool p6SumSkyfileDropTable(psDB *dbh)
-{
-    return psDBDropTable(dbh, P6SUMSKYFILE_TABLE_NAME);
-}
-
-bool p6SumSkyfileInsert(psDB * dbh, psS32 p6_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
+bool stackSumSkyfileDropTable(psDB *dbh)
+{
+    return psDBDropTable(dbh, STACKSUMSKYFILE_TABLE_NAME);
+}
+
+bool stackSumSkyfileInsert(psDB * dbh, psS32 stack_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, NULL, p6_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, stack_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
         return false;
@@ -17131,5 +17131,5 @@
     }
 
-    bool status = psDBInsertOneRow(dbh, P6SUMSKYFILE_TABLE_NAME, md);
+    bool status = psDBInsertOneRow(dbh, STACKSUMSKYFILE_TABLE_NAME, md);
     psFree(md);
 
@@ -17137,11 +17137,11 @@
 }
 
-long long p6SumSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
+long long stackSumSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     long long       deleted = 0;
 
-    long long count = psDBDeleteRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, limit);
+    long long count = psDBDeleteRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, limit);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6SumSkyfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackSumSkyfile");
         return count;
 
@@ -17151,13 +17151,13 @@
     return deleted;
 }
-bool p6SumSkyfileInsertObject(psDB *dbh, p6SumSkyfileRow *object)
-{
-    return p6SumSkyfileInsert(dbh, object->p6_id, object->uri, object->bg, object->bg_mean_stdev);
-}
-
-bool p6SumSkyfileInsertObjects(psDB *dbh, psArray *objects)
+bool stackSumSkyfileInsertObject(psDB *dbh, stackSumSkyfileRow *object)
+{
+    return stackSumSkyfileInsert(dbh, object->stack_id, object->uri, object->bg, object->bg_mean_stdev);
+}
+
+bool stackSumSkyfileInsertObjects(psDB *dbh, psArray *objects)
 {
     for (long i = 0; i < psArrayLength(objects); i++) {
-        if (!p6SumSkyfileInsertObject(dbh, objects->data[i])) {
+        if (!stackSumSkyfileInsertObject(dbh, objects->data[i])) {
             return false;
         }
@@ -17167,11 +17167,11 @@
 }
 
-bool p6SumSkyfileInsertFits(psDB *dbh, const psFits *fits)
+bool stackSumSkyfileInsertFits(psDB *dbh, const psFits *fits)
 {
     psArray         *rowSet;
 
-    // move to (the first?) extension named  P6SUMSKYFILE_TABLE_NAME
-    if (!psFitsMoveExtName(fits, P6SUMSKYFILE_TABLE_NAME)) {
-        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P6SUMSKYFILE_TABLE_NAME);
+    // move to (the first?) extension named  STACKSUMSKYFILE_TABLE_NAME
+    if (!psFitsMoveExtName(fits, STACKSUMSKYFILE_TABLE_NAME)) {
+        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", STACKSUMSKYFILE_TABLE_NAME);
         return false;
     }
@@ -17191,5 +17191,5 @@
     }
 
-    if (!psDBInsertRows(dbh, P6SUMSKYFILE_TABLE_NAME, rowSet)) {
+    if (!psDBInsertRows(dbh, STACKSUMSKYFILE_TABLE_NAME, rowSet)) {
         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
         psFree(rowSet);
@@ -17202,9 +17202,9 @@
 }
 
-bool p6SumSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
+bool stackSumSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
 
-    rowSet = psDBSelectRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return false;
@@ -17212,5 +17212,5 @@
 
     // output to fits
-    if (!psFitsWriteTable(fits, NULL, rowSet, P6SUMSKYFILE_TABLE_NAME)) {
+    if (!psFitsWriteTable(fits, NULL, rowSet, STACKSUMSKYFILE_TABLE_NAME)) {
         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
         psFree(rowSet);
@@ -17223,9 +17223,9 @@
 }
 
-psMetadata *p6SumSkyfileMetadataFromObject(const p6SumSkyfileRow *object)
+psMetadata *stackSumSkyfileMetadataFromObject(const stackSumSkyfileRow *object)
 {
     psMetadata *md = psMetadataAlloc();
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, NULL, object->p6_id)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, object->stack_id)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
         psFree(md);
         return false;
@@ -17251,11 +17251,11 @@
 }
 
-p6SumSkyfileRow *p6SumSkyfileObjectFromMetadata(psMetadata *md)
+stackSumSkyfileRow *stackSumSkyfileObjectFromMetadata(psMetadata *md)
 {
 
 bool status = false;
-    psS32 p6_id = psMetadataLookupS32(&status, md, "p6_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p6_id");
+    psS32 stack_id = psMetadataLookupS32(&status, md, "stack_id");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stack_id");
         return false;
     }
@@ -17276,7 +17276,7 @@
     }
 
-    return p6SumSkyfileRowAlloc(p6_id, uri, bg, bg_mean_stdev);
-}
-psArray *p6SumSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
+    return stackSumSkyfileRowAlloc(stack_id, uri, bg, bg_mean_stdev);
+}
+psArray *stackSumSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
 {
     psArray         *rowSet;
@@ -17284,5 +17284,5 @@
     psU64           i;
 
-    rowSet = psDBSelectRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, limit);
+    rowSet = psDBSelectRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, limit);
     if (!rowSet) {
         return NULL;
@@ -17294,5 +17294,5 @@
 
     for (i = 0; i < rowSet->n; i++) {
-        p6SumSkyfileRow *object = p6SumSkyfileObjectFromMetadata(rowSet->data[i]);
+        stackSumSkyfileRow *object = stackSumSkyfileObjectFromMetadata(rowSet->data[i]);
         psArrayAdd(returnSet, 0, object);
         psFree(object);
@@ -17303,11 +17303,11 @@
     return returnSet;
 }
-bool p6SumSkyfileDeleteObject(psDB *dbh, const p6SumSkyfileRow *object)
-{
-    psMetadata *where = p6SumSkyfileMetadataFromObject(object);
-    long long count = psDBDeleteRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, 0);
+bool stackSumSkyfileDeleteObject(psDB *dbh, const stackSumSkyfileRow *object)
+{
+    psMetadata *where = stackSumSkyfileMetadataFromObject(object);
+    long long count = psDBDeleteRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, 0);
     psFree(where);
     if (count < 0) {
-        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6SumSkyfile");
+        psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackSumSkyfile");
         return false;
     }
@@ -17315,21 +17315,21 @@
         // XXX should this be a psAbort() instead?  It is possible that
         // having an object match multiple rows was by design.
-        psError(PS_ERR_UNKNOWN, true, "p6SumSkyfileRow object matched more then one row.  Check your database schema");
-        return false;
-    }
-
-    return true;
-}
-long long p6SumSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
+        psError(PS_ERR_UNKNOWN, true, "stackSumSkyfileRow object matched more then one row.  Check your database schema");
+        return false;
+    }
+
+    return true;
+}
+long long stackSumSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
 {
     long long       deleted = 0;
 
     for (long long i = 0; i < objects->n; i++) {
-        p6SumSkyfileRow *object = objects->data[i];
-        psMetadata *where = p6SumSkyfileMetadataFromObject(object);
-        long long count = psDBDeleteRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, limit);
+        stackSumSkyfileRow *object = objects->data[i];
+        psMetadata *where = stackSumSkyfileMetadataFromObject(object);
+        long long count = psDBDeleteRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, limit);
         psFree(where);
         if (count < 0) {
-            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6SumSkyfile");
+            psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackSumSkyfile");
             return count;
         }
@@ -17340,5 +17340,5 @@
     return deleted;
 }
-bool p6SumSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
+bool stackSumSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(objects, false);
@@ -17346,9 +17346,9 @@
     psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(objects); i++) {
-        psMetadata *md = p6SumSkyfileMetadataFromObject(objects->data[i]);
+        psMetadata *md = stackSumSkyfileMetadataFromObject(objects->data[i]);
         if (!psMetadataAddMetadata(
             output,
             PS_LIST_TAIL,
-            P6SUMSKYFILE_TABLE_NAME,
+            STACKSUMSKYFILE_TABLE_NAME,
             PS_META_DUPLICATE_OK,
             NULL,
@@ -17371,9 +17371,9 @@
     return true;
 }
-bool p6SumSkyfilePrintObject(FILE *stream, p6SumSkyfileRow *object, bool mdcf)
+bool stackSumSkyfilePrintObject(FILE *stream, stackSumSkyfileRow *object, bool mdcf)
 {
     PS_ASSERT_PTR_NON_NULL(object, false);
 
-    psMetadata *md = p6SumSkyfileMetadataFromObject(object);
+    psMetadata *md = stackSumSkyfileMetadataFromObject(object);
 
     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
Index: trunk/ippdb/src/ippdb.h
===================================================================
--- trunk/ippdb/src/ippdb.h	(revision 11988)
+++ trunk/ippdb/src/ippdb.h	(revision 12026)
@@ -2504,41 +2504,41 @@
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p1PendingExpRow data structure
- *
- * Structure for representing a single row of p1PendingExp table data.
+/** guidePendingExpRow data structure
+ *
+ * Structure for representing a single row of guidePendingExp table data.
  */
 
 typedef struct {
     char            *exp_tag;
-    psS32           p1_version;
+    psS32           guide_version;
     char            *recipe;
-} p1PendingExpRow;
-
-/** Creates a new p1PendingExpRow object
- *
- *  @return A new p1PendingExpRow object or NULL on failure.
- */
-
-p1PendingExpRow *p1PendingExpRowAlloc(
+} guidePendingExpRow;
+
+/** Creates a new guidePendingExpRow object
+ *
+ *  @return A new guidePendingExpRow object or NULL on failure.
+ */
+
+guidePendingExpRow *guidePendingExpRowAlloc(
     const char      *exp_tag,
-    psS32           p1_version,
+    psS32           guide_version,
     const char      *recipe
 );
 
-/** Creates a new p1PendingExp table
- *
- * @return true on success
- */
-
-bool p1PendingExpCreateTable(
+/** Creates a new guidePendingExp table
+ *
+ * @return true on success
+ */
+
+bool guidePendingExpCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p1PendingExp table
- *
- * @return true on success
- */
-
-bool p1PendingExpDropTable(
+/** Deletes a guidePendingExp table
+ *
+ * @return true on success
+ */
+
+bool guidePendingExpDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -2551,8 +2551,8 @@
  */
 
-bool p1PendingExpInsert(
+bool guidePendingExpInsert(
     psDB            *dbh,               ///< Database handle
     const char      *exp_tag,
-    psS32           p1_version,
+    psS32           guide_version,
     const char      *recipe
 );
@@ -2563,5 +2563,5 @@
  */
 
-long long p1PendingExpDelete(
+long long guidePendingExpDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -2569,5 +2569,5 @@
 );
 
-/** Insert a single p1PendingExpRow object into a table
+/** Insert a single guidePendingExpRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -2576,10 +2576,10 @@
  */
 
-bool p1PendingExpInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p1PendingExpRow *object             ///< p1PendingExpRow object
-);
-
-/** Insert an array of p1PendingExpRow object into a table
+bool guidePendingExpInsertObject(
+    psDB            *dbh,               ///< Database handle
+    guidePendingExpRow *object             ///< guidePendingExpRow object
+);
+
+/** Insert an array of guidePendingExpRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -2588,10 +2588,10 @@
  */
 
-bool p1PendingExpInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p1PendingExpRow objects
-);
-
-/** Insert data from a binary FITS table p1PendingExpRow into the database
+bool guidePendingExpInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of guidePendingExpRow objects
+);
+
+/** Insert data from a binary FITS table guidePendingExpRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -2603,5 +2603,5 @@
  */
 
-bool p1PendingExpInsertFits(
+bool guidePendingExpInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -2618,5 +2618,5 @@
  */
 
-bool p1PendingExpSelectRowsFits(
+bool guidePendingExpSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -2625,22 +2625,22 @@
 );
 
-/** Convert a p1PendingExpRow into an equivalent psMetadata
+/** Convert a guidePendingExpRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p1PendingExpMetadataFromObject(
-    const p1PendingExpRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *guidePendingExpMetadataFromObject(
+    const guidePendingExpRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p1PendingExpRow pointer or NULL on error
- */
-
-p1PendingExpRow *p1PendingExpObjectFromMetadata(
+ * @return A guidePendingExpRow pointer or NULL on error
+ */
+
+guidePendingExpRow *guidePendingExpObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p1PendingExpRow objects in a psArray
+/** Selects up to limit rows from the database and returns as guidePendingExpRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -2649,10 +2649,10 @@
  */
 
-psArray *p1PendingExpSelectRowObjects(
+psArray *guidePendingExpSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p1PendingExp
+/** Deletes a row from the database coresponding to an guidePendingExp
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -2662,7 +2662,7 @@
  */
 
-bool p1PendingExpDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p1PendingExpRow *object    ///< Object to delete
+bool guidePendingExpDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const guidePendingExpRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -2674,10 +2674,10 @@
  */
 
-long long p1PendingExpDeleteRowObjects(
+long long guidePendingExpDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p1PendingExpRow objects
+/** Formats and prints an array of guidePendingExpRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -2687,10 +2687,10 @@
  */
 
-bool p1PendingExpPrintObjects(
+bool guidePendingExpPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p1PendingExpRow objects
+    psArray         *objects,           ///< An array of guidePendingExpRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p1PendingExpRow object
+/** Formats and prints an guidePendingExpRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -2700,33 +2700,33 @@
  */
 
-bool p1PendingExpPrintObject(
+bool guidePendingExpPrintObject(
     FILE            *stream,            ///< a stream
-    p1PendingExpRow *object,    ///< an p1PendingExpRow object
+    guidePendingExpRow *object,    ///< an guidePendingExpRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p2PendingExpRow data structure
- *
- * Structure for representing a single row of p2PendingExp table data.
+/** chipPendingExpRow data structure
+ *
+ * Structure for representing a single row of chipPendingExp table data.
  */
 
 typedef struct {
     char            *exp_tag;
-    psS32           p2_version;
-    psS32           p1_version;
+    psS32           chip_version;
+    psS32           guide_version;
     char            *label;
     char            *recipe;
     char            *expgroup;
     char            *dvodb;
-} p2PendingExpRow;
-
-/** Creates a new p2PendingExpRow object
- *
- *  @return A new p2PendingExpRow object or NULL on failure.
- */
-
-p2PendingExpRow *p2PendingExpRowAlloc(
+} chipPendingExpRow;
+
+/** Creates a new chipPendingExpRow object
+ *
+ *  @return A new chipPendingExpRow object or NULL on failure.
+ */
+
+chipPendingExpRow *chipPendingExpRowAlloc(
     const char      *exp_tag,
-    psS32           p2_version,
-    psS32           p1_version,
+    psS32           chip_version,
+    psS32           guide_version,
     const char      *label,
     const char      *recipe,
@@ -2735,19 +2735,19 @@
 );
 
-/** Creates a new p2PendingExp table
- *
- * @return true on success
- */
-
-bool p2PendingExpCreateTable(
+/** Creates a new chipPendingExp table
+ *
+ * @return true on success
+ */
+
+bool chipPendingExpCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p2PendingExp table
- *
- * @return true on success
- */
-
-bool p2PendingExpDropTable(
+/** Deletes a chipPendingExp table
+ *
+ * @return true on success
+ */
+
+bool chipPendingExpDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -2760,9 +2760,9 @@
  */
 
-bool p2PendingExpInsert(
+bool chipPendingExpInsert(
     psDB            *dbh,               ///< Database handle
     const char      *exp_tag,
-    psS32           p2_version,
-    psS32           p1_version,
+    psS32           chip_version,
+    psS32           guide_version,
     const char      *label,
     const char      *recipe,
@@ -2776,5 +2776,5 @@
  */
 
-long long p2PendingExpDelete(
+long long chipPendingExpDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -2782,5 +2782,5 @@
 );
 
-/** Insert a single p2PendingExpRow object into a table
+/** Insert a single chipPendingExpRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -2789,10 +2789,10 @@
  */
 
-bool p2PendingExpInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p2PendingExpRow *object             ///< p2PendingExpRow object
-);
-
-/** Insert an array of p2PendingExpRow object into a table
+bool chipPendingExpInsertObject(
+    psDB            *dbh,               ///< Database handle
+    chipPendingExpRow *object             ///< chipPendingExpRow object
+);
+
+/** Insert an array of chipPendingExpRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -2801,10 +2801,10 @@
  */
 
-bool p2PendingExpInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p2PendingExpRow objects
-);
-
-/** Insert data from a binary FITS table p2PendingExpRow into the database
+bool chipPendingExpInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of chipPendingExpRow objects
+);
+
+/** Insert data from a binary FITS table chipPendingExpRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -2816,5 +2816,5 @@
  */
 
-bool p2PendingExpInsertFits(
+bool chipPendingExpInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -2831,5 +2831,5 @@
  */
 
-bool p2PendingExpSelectRowsFits(
+bool chipPendingExpSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -2838,22 +2838,22 @@
 );
 
-/** Convert a p2PendingExpRow into an equivalent psMetadata
+/** Convert a chipPendingExpRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p2PendingExpMetadataFromObject(
-    const p2PendingExpRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *chipPendingExpMetadataFromObject(
+    const chipPendingExpRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p2PendingExpRow pointer or NULL on error
- */
-
-p2PendingExpRow *p2PendingExpObjectFromMetadata(
+ * @return A chipPendingExpRow pointer or NULL on error
+ */
+
+chipPendingExpRow *chipPendingExpObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p2PendingExpRow objects in a psArray
+/** Selects up to limit rows from the database and returns as chipPendingExpRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -2862,10 +2862,10 @@
  */
 
-psArray *p2PendingExpSelectRowObjects(
+psArray *chipPendingExpSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p2PendingExp
+/** Deletes a row from the database coresponding to an chipPendingExp
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -2875,7 +2875,7 @@
  */
 
-bool p2PendingExpDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p2PendingExpRow *object    ///< Object to delete
+bool chipPendingExpDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const chipPendingExpRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -2887,10 +2887,10 @@
  */
 
-long long p2PendingExpDeleteRowObjects(
+long long chipPendingExpDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p2PendingExpRow objects
+/** Formats and prints an array of chipPendingExpRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -2900,10 +2900,10 @@
  */
 
-bool p2PendingExpPrintObjects(
+bool chipPendingExpPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p2PendingExpRow objects
+    psArray         *objects,           ///< An array of chipPendingExpRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p2PendingExpRow object
+/** Formats and prints an chipPendingExpRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -2913,32 +2913,32 @@
  */
 
-bool p2PendingExpPrintObject(
+bool chipPendingExpPrintObject(
     FILE            *stream,            ///< a stream
-    p2PendingExpRow *object,    ///< an p2PendingExpRow object
+    chipPendingExpRow *object,    ///< an chipPendingExpRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p2PendingImfileRow data structure
- *
- * Structure for representing a single row of p2PendingImfile table data.
+/** chipPendingImfileRow data structure
+ *
+ * Structure for representing a single row of chipPendingImfile table data.
  */
 
 typedef struct {
     char            *exp_tag;
-    psS32           p2_version;
-    psS32           p1_version;
+    psS32           chip_version;
+    psS32           guide_version;
     char            *class_id;
     char            *recipe;
     char            *uri;
-} p2PendingImfileRow;
-
-/** Creates a new p2PendingImfileRow object
- *
- *  @return A new p2PendingImfileRow object or NULL on failure.
- */
-
-p2PendingImfileRow *p2PendingImfileRowAlloc(
+} chipPendingImfileRow;
+
+/** Creates a new chipPendingImfileRow object
+ *
+ *  @return A new chipPendingImfileRow object or NULL on failure.
+ */
+
+chipPendingImfileRow *chipPendingImfileRowAlloc(
     const char      *exp_tag,
-    psS32           p2_version,
-    psS32           p1_version,
+    psS32           chip_version,
+    psS32           guide_version,
     const char      *class_id,
     const char      *recipe,
@@ -2946,19 +2946,19 @@
 );
 
-/** Creates a new p2PendingImfile table
- *
- * @return true on success
- */
-
-bool p2PendingImfileCreateTable(
+/** Creates a new chipPendingImfile table
+ *
+ * @return true on success
+ */
+
+bool chipPendingImfileCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p2PendingImfile table
- *
- * @return true on success
- */
-
-bool p2PendingImfileDropTable(
+/** Deletes a chipPendingImfile table
+ *
+ * @return true on success
+ */
+
+bool chipPendingImfileDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -2971,9 +2971,9 @@
  */
 
-bool p2PendingImfileInsert(
+bool chipPendingImfileInsert(
     psDB            *dbh,               ///< Database handle
     const char      *exp_tag,
-    psS32           p2_version,
-    psS32           p1_version,
+    psS32           chip_version,
+    psS32           guide_version,
     const char      *class_id,
     const char      *recipe,
@@ -2986,5 +2986,5 @@
  */
 
-long long p2PendingImfileDelete(
+long long chipPendingImfileDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -2992,5 +2992,5 @@
 );
 
-/** Insert a single p2PendingImfileRow object into a table
+/** Insert a single chipPendingImfileRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -2999,10 +2999,10 @@
  */
 
-bool p2PendingImfileInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p2PendingImfileRow *object             ///< p2PendingImfileRow object
-);
-
-/** Insert an array of p2PendingImfileRow object into a table
+bool chipPendingImfileInsertObject(
+    psDB            *dbh,               ///< Database handle
+    chipPendingImfileRow *object             ///< chipPendingImfileRow object
+);
+
+/** Insert an array of chipPendingImfileRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -3011,10 +3011,10 @@
  */
 
-bool p2PendingImfileInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p2PendingImfileRow objects
-);
-
-/** Insert data from a binary FITS table p2PendingImfileRow into the database
+bool chipPendingImfileInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of chipPendingImfileRow objects
+);
+
+/** Insert data from a binary FITS table chipPendingImfileRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -3026,5 +3026,5 @@
  */
 
-bool p2PendingImfileInsertFits(
+bool chipPendingImfileInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -3041,5 +3041,5 @@
  */
 
-bool p2PendingImfileSelectRowsFits(
+bool chipPendingImfileSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -3048,22 +3048,22 @@
 );
 
-/** Convert a p2PendingImfileRow into an equivalent psMetadata
+/** Convert a chipPendingImfileRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p2PendingImfileMetadataFromObject(
-    const p2PendingImfileRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *chipPendingImfileMetadataFromObject(
+    const chipPendingImfileRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p2PendingImfileRow pointer or NULL on error
- */
-
-p2PendingImfileRow *p2PendingImfileObjectFromMetadata(
+ * @return A chipPendingImfileRow pointer or NULL on error
+ */
+
+chipPendingImfileRow *chipPendingImfileObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p2PendingImfileRow objects in a psArray
+/** Selects up to limit rows from the database and returns as chipPendingImfileRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -3072,10 +3072,10 @@
  */
 
-psArray *p2PendingImfileSelectRowObjects(
+psArray *chipPendingImfileSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p2PendingImfile
+/** Deletes a row from the database coresponding to an chipPendingImfile
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -3085,7 +3085,7 @@
  */
 
-bool p2PendingImfileDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p2PendingImfileRow *object    ///< Object to delete
+bool chipPendingImfileDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const chipPendingImfileRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -3097,10 +3097,10 @@
  */
 
-long long p2PendingImfileDeleteRowObjects(
+long long chipPendingImfileDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p2PendingImfileRow objects
+/** Formats and prints an array of chipPendingImfileRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -3110,10 +3110,10 @@
  */
 
-bool p2PendingImfilePrintObjects(
+bool chipPendingImfilePrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p2PendingImfileRow objects
+    psArray         *objects,           ///< An array of chipPendingImfileRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p2PendingImfileRow object
+/** Formats and prints an chipPendingImfileRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -3123,32 +3123,32 @@
  */
 
-bool p2PendingImfilePrintObject(
+bool chipPendingImfilePrintObject(
     FILE            *stream,            ///< a stream
-    p2PendingImfileRow *object,    ///< an p2PendingImfileRow object
+    chipPendingImfileRow *object,    ///< an chipPendingImfileRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p2ProcessedExpRow data structure
- *
- * Structure for representing a single row of p2ProcessedExp table data.
+/** chipProcessedExpRow data structure
+ *
+ * Structure for representing a single row of chipProcessedExp table data.
  */
 
 typedef struct {
     char            *exp_tag;
-    psS32           p2_version;
-    psS32           p1_version;
+    psS32           chip_version;
+    psS32           guide_version;
     char            *label;
     char            *expgroup;
     char            *dvodb;
-} p2ProcessedExpRow;
-
-/** Creates a new p2ProcessedExpRow object
- *
- *  @return A new p2ProcessedExpRow object or NULL on failure.
- */
-
-p2ProcessedExpRow *p2ProcessedExpRowAlloc(
+} chipProcessedExpRow;
+
+/** Creates a new chipProcessedExpRow object
+ *
+ *  @return A new chipProcessedExpRow object or NULL on failure.
+ */
+
+chipProcessedExpRow *chipProcessedExpRowAlloc(
     const char      *exp_tag,
-    psS32           p2_version,
-    psS32           p1_version,
+    psS32           chip_version,
+    psS32           guide_version,
     const char      *label,
     const char      *expgroup,
@@ -3156,19 +3156,19 @@
 );
 
-/** Creates a new p2ProcessedExp table
- *
- * @return true on success
- */
-
-bool p2ProcessedExpCreateTable(
+/** Creates a new chipProcessedExp table
+ *
+ * @return true on success
+ */
+
+bool chipProcessedExpCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p2ProcessedExp table
- *
- * @return true on success
- */
-
-bool p2ProcessedExpDropTable(
+/** Deletes a chipProcessedExp table
+ *
+ * @return true on success
+ */
+
+bool chipProcessedExpDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -3181,9 +3181,9 @@
  */
 
-bool p2ProcessedExpInsert(
+bool chipProcessedExpInsert(
     psDB            *dbh,               ///< Database handle
     const char      *exp_tag,
-    psS32           p2_version,
-    psS32           p1_version,
+    psS32           chip_version,
+    psS32           guide_version,
     const char      *label,
     const char      *expgroup,
@@ -3196,5 +3196,5 @@
  */
 
-long long p2ProcessedExpDelete(
+long long chipProcessedExpDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -3202,5 +3202,5 @@
 );
 
-/** Insert a single p2ProcessedExpRow object into a table
+/** Insert a single chipProcessedExpRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -3209,10 +3209,10 @@
  */
 
-bool p2ProcessedExpInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p2ProcessedExpRow *object             ///< p2ProcessedExpRow object
-);
-
-/** Insert an array of p2ProcessedExpRow object into a table
+bool chipProcessedExpInsertObject(
+    psDB            *dbh,               ///< Database handle
+    chipProcessedExpRow *object             ///< chipProcessedExpRow object
+);
+
+/** Insert an array of chipProcessedExpRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -3221,10 +3221,10 @@
  */
 
-bool p2ProcessedExpInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p2ProcessedExpRow objects
-);
-
-/** Insert data from a binary FITS table p2ProcessedExpRow into the database
+bool chipProcessedExpInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of chipProcessedExpRow objects
+);
+
+/** Insert data from a binary FITS table chipProcessedExpRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -3236,5 +3236,5 @@
  */
 
-bool p2ProcessedExpInsertFits(
+bool chipProcessedExpInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -3251,5 +3251,5 @@
  */
 
-bool p2ProcessedExpSelectRowsFits(
+bool chipProcessedExpSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -3258,22 +3258,22 @@
 );
 
-/** Convert a p2ProcessedExpRow into an equivalent psMetadata
+/** Convert a chipProcessedExpRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p2ProcessedExpMetadataFromObject(
-    const p2ProcessedExpRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *chipProcessedExpMetadataFromObject(
+    const chipProcessedExpRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p2ProcessedExpRow pointer or NULL on error
- */
-
-p2ProcessedExpRow *p2ProcessedExpObjectFromMetadata(
+ * @return A chipProcessedExpRow pointer or NULL on error
+ */
+
+chipProcessedExpRow *chipProcessedExpObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p2ProcessedExpRow objects in a psArray
+/** Selects up to limit rows from the database and returns as chipProcessedExpRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -3282,10 +3282,10 @@
  */
 
-psArray *p2ProcessedExpSelectRowObjects(
+psArray *chipProcessedExpSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p2ProcessedExp
+/** Deletes a row from the database coresponding to an chipProcessedExp
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -3295,7 +3295,7 @@
  */
 
-bool p2ProcessedExpDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p2ProcessedExpRow *object    ///< Object to delete
+bool chipProcessedExpDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const chipProcessedExpRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -3307,10 +3307,10 @@
  */
 
-long long p2ProcessedExpDeleteRowObjects(
+long long chipProcessedExpDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p2ProcessedExpRow objects
+/** Formats and prints an array of chipProcessedExpRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -3320,10 +3320,10 @@
  */
 
-bool p2ProcessedExpPrintObjects(
+bool chipProcessedExpPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p2ProcessedExpRow objects
+    psArray         *objects,           ///< An array of chipProcessedExpRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p2ProcessedExpRow object
+/** Formats and prints an chipProcessedExpRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -3333,42 +3333,42 @@
  */
 
-bool p2ProcessedExpPrintObject(
+bool chipProcessedExpPrintObject(
     FILE            *stream,            ///< a stream
-    p2ProcessedExpRow *object,    ///< an p2ProcessedExpRow object
+    chipProcessedExpRow *object,    ///< an chipProcessedExpRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p2MaskRow data structure
- *
- * Structure for representing a single row of p2Mask table data.
+/** chipMaskRow data structure
+ *
+ * Structure for representing a single row of chipMask table data.
  */
 
 typedef struct {
     char            *label;
-} p2MaskRow;
-
-/** Creates a new p2MaskRow object
- *
- *  @return A new p2MaskRow object or NULL on failure.
- */
-
-p2MaskRow *p2MaskRowAlloc(
+} chipMaskRow;
+
+/** Creates a new chipMaskRow object
+ *
+ *  @return A new chipMaskRow object or NULL on failure.
+ */
+
+chipMaskRow *chipMaskRowAlloc(
     const char      *label
 );
 
-/** Creates a new p2Mask table
- *
- * @return true on success
- */
-
-bool p2MaskCreateTable(
+/** Creates a new chipMask table
+ *
+ * @return true on success
+ */
+
+bool chipMaskCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p2Mask table
- *
- * @return true on success
- */
-
-bool p2MaskDropTable(
+/** Deletes a chipMask table
+ *
+ * @return true on success
+ */
+
+bool chipMaskDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -3381,5 +3381,5 @@
  */
 
-bool p2MaskInsert(
+bool chipMaskInsert(
     psDB            *dbh,               ///< Database handle
     const char      *label
@@ -3391,5 +3391,5 @@
  */
 
-long long p2MaskDelete(
+long long chipMaskDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -3397,5 +3397,5 @@
 );
 
-/** Insert a single p2MaskRow object into a table
+/** Insert a single chipMaskRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -3404,10 +3404,10 @@
  */
 
-bool p2MaskInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p2MaskRow       *object             ///< p2MaskRow object
-);
-
-/** Insert an array of p2MaskRow object into a table
+bool chipMaskInsertObject(
+    psDB            *dbh,               ///< Database handle
+    chipMaskRow     *object             ///< chipMaskRow object
+);
+
+/** Insert an array of chipMaskRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -3416,10 +3416,10 @@
  */
 
-bool p2MaskInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p2MaskRow objects
-);
-
-/** Insert data from a binary FITS table p2MaskRow into the database
+bool chipMaskInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of chipMaskRow objects
+);
+
+/** Insert data from a binary FITS table chipMaskRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -3431,5 +3431,5 @@
  */
 
-bool p2MaskInsertFits(
+bool chipMaskInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -3446,5 +3446,5 @@
  */
 
-bool p2MaskSelectRowsFits(
+bool chipMaskSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -3453,22 +3453,22 @@
 );
 
-/** Convert a p2MaskRow into an equivalent psMetadata
+/** Convert a chipMaskRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p2MaskMetadataFromObject(
-    const p2MaskRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *chipMaskMetadataFromObject(
+    const chipMaskRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p2MaskRow pointer or NULL on error
- */
-
-p2MaskRow *p2MaskObjectFromMetadata(
+ * @return A chipMaskRow pointer or NULL on error
+ */
+
+chipMaskRow *chipMaskObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p2MaskRow objects in a psArray
+/** Selects up to limit rows from the database and returns as chipMaskRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -3477,10 +3477,10 @@
  */
 
-psArray *p2MaskSelectRowObjects(
+psArray *chipMaskSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p2Mask
+/** Deletes a row from the database coresponding to an chipMask
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -3490,7 +3490,7 @@
  */
 
-bool p2MaskDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p2MaskRow *object    ///< Object to delete
+bool chipMaskDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const chipMaskRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -3502,10 +3502,10 @@
  */
 
-long long p2MaskDeleteRowObjects(
+long long chipMaskDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p2MaskRow objects
+/** Formats and prints an array of chipMaskRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -3515,10 +3515,10 @@
  */
 
-bool p2MaskPrintObjects(
+bool chipMaskPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p2MaskRow objects
+    psArray         *objects,           ///< An array of chipMaskRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p2MaskRow object
+/** Formats and prints an chipMaskRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -3528,18 +3528,18 @@
  */
 
-bool p2MaskPrintObject(
+bool chipMaskPrintObject(
     FILE            *stream,            ///< a stream
-    p2MaskRow *object,    ///< an p2MaskRow object
+    chipMaskRow *object,    ///< an chipMaskRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p2ProcessedImfileRow data structure
- *
- * Structure for representing a single row of p2ProcessedImfile table data.
+/** chipProcessedImfileRow data structure
+ *
+ * Structure for representing a single row of chipProcessedImfile table data.
  */
 
 typedef struct {
     char            *exp_tag;
-    psS32           p2_version;
-    psS32           p1_version;
+    psS32           chip_version;
+    psS32           guide_version;
     char            *class_id;
     char            *recipe;
@@ -3551,15 +3551,15 @@
     char            *b2_uri;
     psS16           fault;
-} p2ProcessedImfileRow;
-
-/** Creates a new p2ProcessedImfileRow object
- *
- *  @return A new p2ProcessedImfileRow object or NULL on failure.
- */
-
-p2ProcessedImfileRow *p2ProcessedImfileRowAlloc(
+} chipProcessedImfileRow;
+
+/** Creates a new chipProcessedImfileRow object
+ *
+ *  @return A new chipProcessedImfileRow object or NULL on failure.
+ */
+
+chipProcessedImfileRow *chipProcessedImfileRowAlloc(
     const char      *exp_tag,
-    psS32           p2_version,
-    psS32           p1_version,
+    psS32           chip_version,
+    psS32           guide_version,
     const char      *class_id,
     const char      *recipe,
@@ -3573,19 +3573,19 @@
 );
 
-/** Creates a new p2ProcessedImfile table
- *
- * @return true on success
- */
-
-bool p2ProcessedImfileCreateTable(
+/** Creates a new chipProcessedImfile table
+ *
+ * @return true on success
+ */
+
+bool chipProcessedImfileCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p2ProcessedImfile table
- *
- * @return true on success
- */
-
-bool p2ProcessedImfileDropTable(
+/** Deletes a chipProcessedImfile table
+ *
+ * @return true on success
+ */
+
+bool chipProcessedImfileDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -3598,9 +3598,9 @@
  */
 
-bool p2ProcessedImfileInsert(
+bool chipProcessedImfileInsert(
     psDB            *dbh,               ///< Database handle
     const char      *exp_tag,
-    psS32           p2_version,
-    psS32           p1_version,
+    psS32           chip_version,
+    psS32           guide_version,
     const char      *class_id,
     const char      *recipe,
@@ -3619,5 +3619,5 @@
  */
 
-long long p2ProcessedImfileDelete(
+long long chipProcessedImfileDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -3625,5 +3625,5 @@
 );
 
-/** Insert a single p2ProcessedImfileRow object into a table
+/** Insert a single chipProcessedImfileRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -3632,10 +3632,10 @@
  */
 
-bool p2ProcessedImfileInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p2ProcessedImfileRow *object             ///< p2ProcessedImfileRow object
-);
-
-/** Insert an array of p2ProcessedImfileRow object into a table
+bool chipProcessedImfileInsertObject(
+    psDB            *dbh,               ///< Database handle
+    chipProcessedImfileRow *object             ///< chipProcessedImfileRow object
+);
+
+/** Insert an array of chipProcessedImfileRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -3644,10 +3644,10 @@
  */
 
-bool p2ProcessedImfileInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p2ProcessedImfileRow objects
-);
-
-/** Insert data from a binary FITS table p2ProcessedImfileRow into the database
+bool chipProcessedImfileInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of chipProcessedImfileRow objects
+);
+
+/** Insert data from a binary FITS table chipProcessedImfileRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -3659,5 +3659,5 @@
  */
 
-bool p2ProcessedImfileInsertFits(
+bool chipProcessedImfileInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -3674,5 +3674,5 @@
  */
 
-bool p2ProcessedImfileSelectRowsFits(
+bool chipProcessedImfileSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -3681,22 +3681,22 @@
 );
 
-/** Convert a p2ProcessedImfileRow into an equivalent psMetadata
+/** Convert a chipProcessedImfileRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p2ProcessedImfileMetadataFromObject(
-    const p2ProcessedImfileRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *chipProcessedImfileMetadataFromObject(
+    const chipProcessedImfileRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p2ProcessedImfileRow pointer or NULL on error
- */
-
-p2ProcessedImfileRow *p2ProcessedImfileObjectFromMetadata(
+ * @return A chipProcessedImfileRow pointer or NULL on error
+ */
+
+chipProcessedImfileRow *chipProcessedImfileObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p2ProcessedImfileRow objects in a psArray
+/** Selects up to limit rows from the database and returns as chipProcessedImfileRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -3705,10 +3705,10 @@
  */
 
-psArray *p2ProcessedImfileSelectRowObjects(
+psArray *chipProcessedImfileSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p2ProcessedImfile
+/** Deletes a row from the database coresponding to an chipProcessedImfile
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -3718,7 +3718,7 @@
  */
 
-bool p2ProcessedImfileDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p2ProcessedImfileRow *object    ///< Object to delete
+bool chipProcessedImfileDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const chipProcessedImfileRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -3730,10 +3730,10 @@
  */
 
-long long p2ProcessedImfileDeleteRowObjects(
+long long chipProcessedImfileDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p2ProcessedImfileRow objects
+/** Formats and prints an array of chipProcessedImfileRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -3743,10 +3743,10 @@
  */
 
-bool p2ProcessedImfilePrintObjects(
+bool chipProcessedImfilePrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p2ProcessedImfileRow objects
+    psArray         *objects,           ///< An array of chipProcessedImfileRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p2ProcessedImfileRow object
+/** Formats and prints an chipProcessedImfileRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -3756,32 +3756,32 @@
  */
 
-bool p2ProcessedImfilePrintObject(
+bool chipProcessedImfilePrintObject(
     FILE            *stream,            ///< a stream
-    p2ProcessedImfileRow *object,    ///< an p2ProcessedImfileRow object
+    chipProcessedImfileRow *object,    ///< an chipProcessedImfileRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p3PendingExpRow data structure
- *
- * Structure for representing a single row of p3PendingExp table data.
+/** camPendingExpRow data structure
+ *
+ * Structure for representing a single row of camPendingExp table data.
  */
 
 typedef struct {
     char            *exp_tag;
-    psS32           p3_version;
-    psS32           p2_version;
+    psS32           cam_version;
+    psS32           chip_version;
     char            *label;
     char            *expgroup;
     char            *dvodb;
-} p3PendingExpRow;
-
-/** Creates a new p3PendingExpRow object
- *
- *  @return A new p3PendingExpRow object or NULL on failure.
- */
-
-p3PendingExpRow *p3PendingExpRowAlloc(
+} camPendingExpRow;
+
+/** Creates a new camPendingExpRow object
+ *
+ *  @return A new camPendingExpRow object or NULL on failure.
+ */
+
+camPendingExpRow *camPendingExpRowAlloc(
     const char      *exp_tag,
-    psS32           p3_version,
-    psS32           p2_version,
+    psS32           cam_version,
+    psS32           chip_version,
     const char      *label,
     const char      *expgroup,
@@ -3789,19 +3789,19 @@
 );
 
-/** Creates a new p3PendingExp table
- *
- * @return true on success
- */
-
-bool p3PendingExpCreateTable(
+/** Creates a new camPendingExp table
+ *
+ * @return true on success
+ */
+
+bool camPendingExpCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p3PendingExp table
- *
- * @return true on success
- */
-
-bool p3PendingExpDropTable(
+/** Deletes a camPendingExp table
+ *
+ * @return true on success
+ */
+
+bool camPendingExpDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -3814,9 +3814,9 @@
  */
 
-bool p3PendingExpInsert(
+bool camPendingExpInsert(
     psDB            *dbh,               ///< Database handle
     const char      *exp_tag,
-    psS32           p3_version,
-    psS32           p2_version,
+    psS32           cam_version,
+    psS32           chip_version,
     const char      *label,
     const char      *expgroup,
@@ -3829,5 +3829,5 @@
  */
 
-long long p3PendingExpDelete(
+long long camPendingExpDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -3835,5 +3835,5 @@
 );
 
-/** Insert a single p3PendingExpRow object into a table
+/** Insert a single camPendingExpRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -3842,10 +3842,10 @@
  */
 
-bool p3PendingExpInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p3PendingExpRow *object             ///< p3PendingExpRow object
-);
-
-/** Insert an array of p3PendingExpRow object into a table
+bool camPendingExpInsertObject(
+    psDB            *dbh,               ///< Database handle
+    camPendingExpRow *object             ///< camPendingExpRow object
+);
+
+/** Insert an array of camPendingExpRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -3854,10 +3854,10 @@
  */
 
-bool p3PendingExpInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p3PendingExpRow objects
-);
-
-/** Insert data from a binary FITS table p3PendingExpRow into the database
+bool camPendingExpInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of camPendingExpRow objects
+);
+
+/** Insert data from a binary FITS table camPendingExpRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -3869,5 +3869,5 @@
  */
 
-bool p3PendingExpInsertFits(
+bool camPendingExpInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -3884,5 +3884,5 @@
  */
 
-bool p3PendingExpSelectRowsFits(
+bool camPendingExpSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -3891,22 +3891,22 @@
 );
 
-/** Convert a p3PendingExpRow into an equivalent psMetadata
+/** Convert a camPendingExpRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p3PendingExpMetadataFromObject(
-    const p3PendingExpRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *camPendingExpMetadataFromObject(
+    const camPendingExpRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p3PendingExpRow pointer or NULL on error
- */
-
-p3PendingExpRow *p3PendingExpObjectFromMetadata(
+ * @return A camPendingExpRow pointer or NULL on error
+ */
+
+camPendingExpRow *camPendingExpObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p3PendingExpRow objects in a psArray
+/** Selects up to limit rows from the database and returns as camPendingExpRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -3915,10 +3915,10 @@
  */
 
-psArray *p3PendingExpSelectRowObjects(
+psArray *camPendingExpSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p3PendingExp
+/** Deletes a row from the database coresponding to an camPendingExp
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -3928,7 +3928,7 @@
  */
 
-bool p3PendingExpDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p3PendingExpRow *object    ///< Object to delete
+bool camPendingExpDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const camPendingExpRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -3940,10 +3940,10 @@
  */
 
-long long p3PendingExpDeleteRowObjects(
+long long camPendingExpDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p3PendingExpRow objects
+/** Formats and prints an array of camPendingExpRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -3953,10 +3953,10 @@
  */
 
-bool p3PendingExpPrintObjects(
+bool camPendingExpPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p3PendingExpRow objects
+    psArray         *objects,           ///< An array of camPendingExpRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p3PendingExpRow object
+/** Formats and prints an camPendingExpRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -3966,18 +3966,18 @@
  */
 
-bool p3PendingExpPrintObject(
+bool camPendingExpPrintObject(
     FILE            *stream,            ///< a stream
-    p3PendingExpRow *object,    ///< an p3PendingExpRow object
+    camPendingExpRow *object,    ///< an camPendingExpRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p3ProcessedExpRow data structure
- *
- * Structure for representing a single row of p3ProcessedExp table data.
+/** camProcessedExpRow data structure
+ *
+ * Structure for representing a single row of camProcessedExp table data.
  */
 
 typedef struct {
     char            *exp_tag;
-    psS32           p3_version;
-    psS32           p2_version;
+    psS32           cam_version;
+    psS32           chip_version;
     char            *label;
     char            *uri;
@@ -3996,15 +3996,15 @@
     char            *expgroup;
     char            *dvodb;
-} p3ProcessedExpRow;
-
-/** Creates a new p3ProcessedExpRow object
- *
- *  @return A new p3ProcessedExpRow object or NULL on failure.
- */
-
-p3ProcessedExpRow *p3ProcessedExpRowAlloc(
+} camProcessedExpRow;
+
+/** Creates a new camProcessedExpRow object
+ *
+ *  @return A new camProcessedExpRow object or NULL on failure.
+ */
+
+camProcessedExpRow *camProcessedExpRowAlloc(
     const char      *exp_tag,
-    psS32           p3_version,
-    psS32           p2_version,
+    psS32           cam_version,
+    psS32           chip_version,
     const char      *label,
     const char      *uri,
@@ -4025,19 +4025,19 @@
 );
 
-/** Creates a new p3ProcessedExp table
- *
- * @return true on success
- */
-
-bool p3ProcessedExpCreateTable(
+/** Creates a new camProcessedExp table
+ *
+ * @return true on success
+ */
+
+bool camProcessedExpCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p3ProcessedExp table
- *
- * @return true on success
- */
-
-bool p3ProcessedExpDropTable(
+/** Deletes a camProcessedExp table
+ *
+ * @return true on success
+ */
+
+bool camProcessedExpDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -4050,9 +4050,9 @@
  */
 
-bool p3ProcessedExpInsert(
+bool camProcessedExpInsert(
     psDB            *dbh,               ///< Database handle
     const char      *exp_tag,
-    psS32           p3_version,
-    psS32           p2_version,
+    psS32           cam_version,
+    psS32           chip_version,
     const char      *label,
     const char      *uri,
@@ -4078,5 +4078,5 @@
  */
 
-long long p3ProcessedExpDelete(
+long long camProcessedExpDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -4084,5 +4084,5 @@
 );
 
-/** Insert a single p3ProcessedExpRow object into a table
+/** Insert a single camProcessedExpRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -4091,10 +4091,10 @@
  */
 
-bool p3ProcessedExpInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p3ProcessedExpRow *object             ///< p3ProcessedExpRow object
-);
-
-/** Insert an array of p3ProcessedExpRow object into a table
+bool camProcessedExpInsertObject(
+    psDB            *dbh,               ///< Database handle
+    camProcessedExpRow *object             ///< camProcessedExpRow object
+);
+
+/** Insert an array of camProcessedExpRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -4103,10 +4103,10 @@
  */
 
-bool p3ProcessedExpInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p3ProcessedExpRow objects
-);
-
-/** Insert data from a binary FITS table p3ProcessedExpRow into the database
+bool camProcessedExpInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of camProcessedExpRow objects
+);
+
+/** Insert data from a binary FITS table camProcessedExpRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -4118,5 +4118,5 @@
  */
 
-bool p3ProcessedExpInsertFits(
+bool camProcessedExpInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -4133,5 +4133,5 @@
  */
 
-bool p3ProcessedExpSelectRowsFits(
+bool camProcessedExpSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -4140,22 +4140,22 @@
 );
 
-/** Convert a p3ProcessedExpRow into an equivalent psMetadata
+/** Convert a camProcessedExpRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p3ProcessedExpMetadataFromObject(
-    const p3ProcessedExpRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *camProcessedExpMetadataFromObject(
+    const camProcessedExpRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p3ProcessedExpRow pointer or NULL on error
- */
-
-p3ProcessedExpRow *p3ProcessedExpObjectFromMetadata(
+ * @return A camProcessedExpRow pointer or NULL on error
+ */
+
+camProcessedExpRow *camProcessedExpObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p3ProcessedExpRow objects in a psArray
+/** Selects up to limit rows from the database and returns as camProcessedExpRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -4164,10 +4164,10 @@
  */
 
-psArray *p3ProcessedExpSelectRowObjects(
+psArray *camProcessedExpSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p3ProcessedExp
+/** Deletes a row from the database coresponding to an camProcessedExp
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -4177,7 +4177,7 @@
  */
 
-bool p3ProcessedExpDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p3ProcessedExpRow *object    ///< Object to delete
+bool camProcessedExpDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const camProcessedExpRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -4189,10 +4189,10 @@
  */
 
-long long p3ProcessedExpDeleteRowObjects(
+long long camProcessedExpDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p3ProcessedExpRow objects
+/** Formats and prints an array of camProcessedExpRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -4202,10 +4202,10 @@
  */
 
-bool p3ProcessedExpPrintObjects(
+bool camProcessedExpPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p3ProcessedExpRow objects
+    psArray         *objects,           ///< An array of camProcessedExpRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p3ProcessedExpRow object
+/** Formats and prints an camProcessedExpRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -4215,42 +4215,42 @@
  */
 
-bool p3ProcessedExpPrintObject(
+bool camProcessedExpPrintObject(
     FILE            *stream,            ///< a stream
-    p3ProcessedExpRow *object,    ///< an p3ProcessedExpRow object
+    camProcessedExpRow *object,    ///< an camProcessedExpRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p3MaskRow data structure
- *
- * Structure for representing a single row of p3Mask table data.
+/** camMaskRow data structure
+ *
+ * Structure for representing a single row of camMask table data.
  */
 
 typedef struct {
     char            *label;
-} p3MaskRow;
-
-/** Creates a new p3MaskRow object
- *
- *  @return A new p3MaskRow object or NULL on failure.
- */
-
-p3MaskRow *p3MaskRowAlloc(
+} camMaskRow;
+
+/** Creates a new camMaskRow object
+ *
+ *  @return A new camMaskRow object or NULL on failure.
+ */
+
+camMaskRow *camMaskRowAlloc(
     const char      *label
 );
 
-/** Creates a new p3Mask table
- *
- * @return true on success
- */
-
-bool p3MaskCreateTable(
+/** Creates a new camMask table
+ *
+ * @return true on success
+ */
+
+bool camMaskCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p3Mask table
- *
- * @return true on success
- */
-
-bool p3MaskDropTable(
+/** Deletes a camMask table
+ *
+ * @return true on success
+ */
+
+bool camMaskDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -4263,5 +4263,5 @@
  */
 
-bool p3MaskInsert(
+bool camMaskInsert(
     psDB            *dbh,               ///< Database handle
     const char      *label
@@ -4273,5 +4273,5 @@
  */
 
-long long p3MaskDelete(
+long long camMaskDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -4279,5 +4279,5 @@
 );
 
-/** Insert a single p3MaskRow object into a table
+/** Insert a single camMaskRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -4286,10 +4286,10 @@
  */
 
-bool p3MaskInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p3MaskRow       *object             ///< p3MaskRow object
-);
-
-/** Insert an array of p3MaskRow object into a table
+bool camMaskInsertObject(
+    psDB            *dbh,               ///< Database handle
+    camMaskRow      *object             ///< camMaskRow object
+);
+
+/** Insert an array of camMaskRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -4298,10 +4298,10 @@
  */
 
-bool p3MaskInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p3MaskRow objects
-);
-
-/** Insert data from a binary FITS table p3MaskRow into the database
+bool camMaskInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of camMaskRow objects
+);
+
+/** Insert data from a binary FITS table camMaskRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -4313,5 +4313,5 @@
  */
 
-bool p3MaskInsertFits(
+bool camMaskInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -4328,5 +4328,5 @@
  */
 
-bool p3MaskSelectRowsFits(
+bool camMaskSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -4335,22 +4335,22 @@
 );
 
-/** Convert a p3MaskRow into an equivalent psMetadata
+/** Convert a camMaskRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p3MaskMetadataFromObject(
-    const p3MaskRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *camMaskMetadataFromObject(
+    const camMaskRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p3MaskRow pointer or NULL on error
- */
-
-p3MaskRow *p3MaskObjectFromMetadata(
+ * @return A camMaskRow pointer or NULL on error
+ */
+
+camMaskRow *camMaskObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p3MaskRow objects in a psArray
+/** Selects up to limit rows from the database and returns as camMaskRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -4359,10 +4359,10 @@
  */
 
-psArray *p3MaskSelectRowObjects(
+psArray *camMaskSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p3Mask
+/** Deletes a row from the database coresponding to an camMask
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -4372,7 +4372,7 @@
  */
 
-bool p3MaskDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p3MaskRow *object    ///< Object to delete
+bool camMaskDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const camMaskRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -4384,10 +4384,10 @@
  */
 
-long long p3MaskDeleteRowObjects(
+long long camMaskDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p3MaskRow objects
+/** Formats and prints an array of camMaskRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -4397,10 +4397,10 @@
  */
 
-bool p3MaskPrintObjects(
+bool camMaskPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p3MaskRow objects
+    psArray         *objects,           ///< An array of camMaskRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p3MaskRow object
+/** Formats and prints an camMaskRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -4410,7 +4410,7 @@
  */
 
-bool p3MaskPrintObject(
+bool camMaskPrintObject(
     FILE            *stream,            ///< a stream
-    p3MaskRow *object,    ///< an p3MaskRow object
+    camMaskRow *object,    ///< an camMaskRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
@@ -6869,11 +6869,11 @@
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p4RunRow data structure
- *
- * Structure for representing a single row of p4Run table data.
+/** warpRunRow data structure
+ *
+ * Structure for representing a single row of warpRun table data.
  */
 
 typedef struct {
-    psS32           p4_id;
+    psS32           warp_id;
     char            *mode;
     char            *state;
@@ -6881,13 +6881,13 @@
     char            *dvodb;
     psTime*         registered;
-} p4RunRow;
-
-/** Creates a new p4RunRow object
- *
- *  @return A new p4RunRow object or NULL on failure.
- */
-
-p4RunRow *p4RunRowAlloc(
-    psS32           p4_id,
+} warpRunRow;
+
+/** Creates a new warpRunRow object
+ *
+ *  @return A new warpRunRow object or NULL on failure.
+ */
+
+warpRunRow *warpRunRowAlloc(
+    psS32           warp_id,
     const char      *mode,
     const char      *state,
@@ -6897,19 +6897,19 @@
 );
 
-/** Creates a new p4Run table
- *
- * @return true on success
- */
-
-bool p4RunCreateTable(
+/** Creates a new warpRun table
+ *
+ * @return true on success
+ */
+
+bool warpRunCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p4Run table
- *
- * @return true on success
- */
-
-bool p4RunDropTable(
+/** Deletes a warpRun table
+ *
+ * @return true on success
+ */
+
+bool warpRunDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -6922,7 +6922,7 @@
  */
 
-bool p4RunInsert(
-    psDB            *dbh,               ///< Database handle
-    psS32           p4_id,
+bool warpRunInsert(
+    psDB            *dbh,               ///< Database handle
+    psS32           warp_id,
     const char      *mode,
     const char      *state,
@@ -6937,5 +6937,5 @@
  */
 
-long long p4RunDelete(
+long long warpRunDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -6943,5 +6943,5 @@
 );
 
-/** Insert a single p4RunRow object into a table
+/** Insert a single warpRunRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -6950,10 +6950,10 @@
  */
 
-bool p4RunInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p4RunRow        *object             ///< p4RunRow object
-);
-
-/** Insert an array of p4RunRow object into a table
+bool warpRunInsertObject(
+    psDB            *dbh,               ///< Database handle
+    warpRunRow      *object             ///< warpRunRow object
+);
+
+/** Insert an array of warpRunRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -6962,10 +6962,10 @@
  */
 
-bool p4RunInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p4RunRow objects
-);
-
-/** Insert data from a binary FITS table p4RunRow into the database
+bool warpRunInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of warpRunRow objects
+);
+
+/** Insert data from a binary FITS table warpRunRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -6977,5 +6977,5 @@
  */
 
-bool p4RunInsertFits(
+bool warpRunInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -6992,5 +6992,5 @@
  */
 
-bool p4RunSelectRowsFits(
+bool warpRunSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -6999,22 +6999,22 @@
 );
 
-/** Convert a p4RunRow into an equivalent psMetadata
+/** Convert a warpRunRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p4RunMetadataFromObject(
-    const p4RunRow  *object             ///< fooRow to convert into a psMetadata
+psMetadata *warpRunMetadataFromObject(
+    const warpRunRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p4RunRow pointer or NULL on error
- */
-
-p4RunRow *p4RunObjectFromMetadata(
+ * @return A warpRunRow pointer or NULL on error
+ */
+
+warpRunRow *warpRunObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p4RunRow objects in a psArray
+/** Selects up to limit rows from the database and returns as warpRunRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -7023,10 +7023,10 @@
  */
 
-psArray *p4RunSelectRowObjects(
+psArray *warpRunSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p4Run
+/** Deletes a row from the database coresponding to an warpRun
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -7036,7 +7036,7 @@
  */
 
-bool p4RunDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p4RunRow *object    ///< Object to delete
+bool warpRunDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const warpRunRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -7048,10 +7048,10 @@
  */
 
-long long p4RunDeleteRowObjects(
+long long warpRunDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p4RunRow objects
+/** Formats and prints an array of warpRunRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7061,10 +7061,10 @@
  */
 
-bool p4RunPrintObjects(
+bool warpRunPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p4RunRow objects
+    psArray         *objects,           ///< An array of warpRunRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p4RunRow object
+/** Formats and prints an warpRunRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7074,48 +7074,48 @@
  */
 
-bool p4RunPrintObject(
+bool warpRunPrintObject(
     FILE            *stream,            ///< a stream
-    p4RunRow *object,    ///< an p4RunRow object
+    warpRunRow *object,    ///< an warpRunRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p4InputExpRow data structure
- *
- * Structure for representing a single row of p4InputExp table data.
+/** warpInputExpRow data structure
+ *
+ * Structure for representing a single row of warpInputExp table data.
  */
 
 typedef struct {
-    psS32           p4_id;
+    psS32           warp_id;
     char            *exp_tag;
-    psS32           p3_version;
+    psS32           cam_version;
     bool            magiced;
-} p4InputExpRow;
-
-/** Creates a new p4InputExpRow object
- *
- *  @return A new p4InputExpRow object or NULL on failure.
- */
-
-p4InputExpRow *p4InputExpRowAlloc(
-    psS32           p4_id,
+} warpInputExpRow;
+
+/** Creates a new warpInputExpRow object
+ *
+ *  @return A new warpInputExpRow object or NULL on failure.
+ */
+
+warpInputExpRow *warpInputExpRowAlloc(
+    psS32           warp_id,
     const char      *exp_tag,
-    psS32           p3_version,
+    psS32           cam_version,
     bool            magiced
 );
 
-/** Creates a new p4InputExp table
- *
- * @return true on success
- */
-
-bool p4InputExpCreateTable(
+/** Creates a new warpInputExp table
+ *
+ * @return true on success
+ */
+
+bool warpInputExpCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p4InputExp table
- *
- * @return true on success
- */
-
-bool p4InputExpDropTable(
+/** Deletes a warpInputExp table
+ *
+ * @return true on success
+ */
+
+bool warpInputExpDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -7128,9 +7128,9 @@
  */
 
-bool p4InputExpInsert(
-    psDB            *dbh,               ///< Database handle
-    psS32           p4_id,
+bool warpInputExpInsert(
+    psDB            *dbh,               ///< Database handle
+    psS32           warp_id,
     const char      *exp_tag,
-    psS32           p3_version,
+    psS32           cam_version,
     bool            magiced
 );
@@ -7141,5 +7141,5 @@
  */
 
-long long p4InputExpDelete(
+long long warpInputExpDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -7147,5 +7147,5 @@
 );
 
-/** Insert a single p4InputExpRow object into a table
+/** Insert a single warpInputExpRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -7154,10 +7154,10 @@
  */
 
-bool p4InputExpInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p4InputExpRow   *object             ///< p4InputExpRow object
-);
-
-/** Insert an array of p4InputExpRow object into a table
+bool warpInputExpInsertObject(
+    psDB            *dbh,               ///< Database handle
+    warpInputExpRow *object             ///< warpInputExpRow object
+);
+
+/** Insert an array of warpInputExpRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -7166,10 +7166,10 @@
  */
 
-bool p4InputExpInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p4InputExpRow objects
-);
-
-/** Insert data from a binary FITS table p4InputExpRow into the database
+bool warpInputExpInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of warpInputExpRow objects
+);
+
+/** Insert data from a binary FITS table warpInputExpRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -7181,5 +7181,5 @@
  */
 
-bool p4InputExpInsertFits(
+bool warpInputExpInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -7196,5 +7196,5 @@
  */
 
-bool p4InputExpSelectRowsFits(
+bool warpInputExpSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -7203,22 +7203,22 @@
 );
 
-/** Convert a p4InputExpRow into an equivalent psMetadata
+/** Convert a warpInputExpRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p4InputExpMetadataFromObject(
-    const p4InputExpRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *warpInputExpMetadataFromObject(
+    const warpInputExpRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p4InputExpRow pointer or NULL on error
- */
-
-p4InputExpRow *p4InputExpObjectFromMetadata(
+ * @return A warpInputExpRow pointer or NULL on error
+ */
+
+warpInputExpRow *warpInputExpObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p4InputExpRow objects in a psArray
+/** Selects up to limit rows from the database and returns as warpInputExpRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -7227,10 +7227,10 @@
  */
 
-psArray *p4InputExpSelectRowObjects(
+psArray *warpInputExpSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p4InputExp
+/** Deletes a row from the database coresponding to an warpInputExp
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -7240,7 +7240,7 @@
  */
 
-bool p4InputExpDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p4InputExpRow *object    ///< Object to delete
+bool warpInputExpDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const warpInputExpRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -7252,10 +7252,10 @@
  */
 
-long long p4InputExpDeleteRowObjects(
+long long warpInputExpDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p4InputExpRow objects
+/** Formats and prints an array of warpInputExpRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7265,10 +7265,10 @@
  */
 
-bool p4InputExpPrintObjects(
+bool warpInputExpPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p4InputExpRow objects
+    psArray         *objects,           ///< An array of warpInputExpRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p4InputExpRow object
+/** Formats and prints an warpInputExpRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7278,52 +7278,52 @@
  */
 
-bool p4InputExpPrintObject(
+bool warpInputExpPrintObject(
     FILE            *stream,            ///< a stream
-    p4InputExpRow *object,    ///< an p4InputExpRow object
+    warpInputExpRow *object,    ///< an warpInputExpRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p4SkyCellMapRow data structure
- *
- * Structure for representing a single row of p4SkyCellMap table data.
+/** warpSkyCellMapRow data structure
+ *
+ * Structure for representing a single row of warpSkyCellMap table data.
  */
 
 typedef struct {
-    psS32           p4_id;
+    psS32           warp_id;
     char            *skycell_id;
     char            *tess_id;
     char            *exp_tag;
-    psS32           p3_version;
+    psS32           cam_version;
     char            *class_id;
-} p4SkyCellMapRow;
-
-/** Creates a new p4SkyCellMapRow object
- *
- *  @return A new p4SkyCellMapRow object or NULL on failure.
- */
-
-p4SkyCellMapRow *p4SkyCellMapRowAlloc(
-    psS32           p4_id,
+} warpSkyCellMapRow;
+
+/** Creates a new warpSkyCellMapRow object
+ *
+ *  @return A new warpSkyCellMapRow object or NULL on failure.
+ */
+
+warpSkyCellMapRow *warpSkyCellMapRowAlloc(
+    psS32           warp_id,
     const char      *skycell_id,
     const char      *tess_id,
     const char      *exp_tag,
-    psS32           p3_version,
+    psS32           cam_version,
     const char      *class_id
 );
 
-/** Creates a new p4SkyCellMap table
- *
- * @return true on success
- */
-
-bool p4SkyCellMapCreateTable(
+/** Creates a new warpSkyCellMap table
+ *
+ * @return true on success
+ */
+
+bool warpSkyCellMapCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p4SkyCellMap table
- *
- * @return true on success
- */
-
-bool p4SkyCellMapDropTable(
+/** Deletes a warpSkyCellMap table
+ *
+ * @return true on success
+ */
+
+bool warpSkyCellMapDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -7336,11 +7336,11 @@
  */
 
-bool p4SkyCellMapInsert(
-    psDB            *dbh,               ///< Database handle
-    psS32           p4_id,
+bool warpSkyCellMapInsert(
+    psDB            *dbh,               ///< Database handle
+    psS32           warp_id,
     const char      *skycell_id,
     const char      *tess_id,
     const char      *exp_tag,
-    psS32           p3_version,
+    psS32           cam_version,
     const char      *class_id
 );
@@ -7351,5 +7351,5 @@
  */
 
-long long p4SkyCellMapDelete(
+long long warpSkyCellMapDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -7357,5 +7357,5 @@
 );
 
-/** Insert a single p4SkyCellMapRow object into a table
+/** Insert a single warpSkyCellMapRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -7364,10 +7364,10 @@
  */
 
-bool p4SkyCellMapInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p4SkyCellMapRow *object             ///< p4SkyCellMapRow object
-);
-
-/** Insert an array of p4SkyCellMapRow object into a table
+bool warpSkyCellMapInsertObject(
+    psDB            *dbh,               ///< Database handle
+    warpSkyCellMapRow *object             ///< warpSkyCellMapRow object
+);
+
+/** Insert an array of warpSkyCellMapRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -7376,10 +7376,10 @@
  */
 
-bool p4SkyCellMapInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p4SkyCellMapRow objects
-);
-
-/** Insert data from a binary FITS table p4SkyCellMapRow into the database
+bool warpSkyCellMapInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of warpSkyCellMapRow objects
+);
+
+/** Insert data from a binary FITS table warpSkyCellMapRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -7391,5 +7391,5 @@
  */
 
-bool p4SkyCellMapInsertFits(
+bool warpSkyCellMapInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -7406,5 +7406,5 @@
  */
 
-bool p4SkyCellMapSelectRowsFits(
+bool warpSkyCellMapSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -7413,22 +7413,22 @@
 );
 
-/** Convert a p4SkyCellMapRow into an equivalent psMetadata
+/** Convert a warpSkyCellMapRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p4SkyCellMapMetadataFromObject(
-    const p4SkyCellMapRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *warpSkyCellMapMetadataFromObject(
+    const warpSkyCellMapRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p4SkyCellMapRow pointer or NULL on error
- */
-
-p4SkyCellMapRow *p4SkyCellMapObjectFromMetadata(
+ * @return A warpSkyCellMapRow pointer or NULL on error
+ */
+
+warpSkyCellMapRow *warpSkyCellMapObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p4SkyCellMapRow objects in a psArray
+/** Selects up to limit rows from the database and returns as warpSkyCellMapRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -7437,10 +7437,10 @@
  */
 
-psArray *p4SkyCellMapSelectRowObjects(
+psArray *warpSkyCellMapSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p4SkyCellMap
+/** Deletes a row from the database coresponding to an warpSkyCellMap
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -7450,7 +7450,7 @@
  */
 
-bool p4SkyCellMapDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p4SkyCellMapRow *object    ///< Object to delete
+bool warpSkyCellMapDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const warpSkyCellMapRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -7462,10 +7462,10 @@
  */
 
-long long p4SkyCellMapDeleteRowObjects(
+long long warpSkyCellMapDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p4SkyCellMapRow objects
+/** Formats and prints an array of warpSkyCellMapRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7475,10 +7475,10 @@
  */
 
-bool p4SkyCellMapPrintObjects(
+bool warpSkyCellMapPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p4SkyCellMapRow objects
+    psArray         *objects,           ///< An array of warpSkyCellMapRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p4SkyCellMapRow object
+/** Formats and prints an warpSkyCellMapRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7488,16 +7488,16 @@
  */
 
-bool p4SkyCellMapPrintObject(
+bool warpSkyCellMapPrintObject(
     FILE            *stream,            ///< a stream
-    p4SkyCellMapRow *object,    ///< an p4SkyCellMapRow object
+    warpSkyCellMapRow *object,    ///< an warpSkyCellMapRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p4SkyfileRow data structure
- *
- * Structure for representing a single row of p4Skyfile table data.
+/** warpSkyfileRow data structure
+ *
+ * Structure for representing a single row of warpSkyfile table data.
  */
 
 typedef struct {
-    psS32           p4_id;
+    psS32           warp_id;
     char            *skycell_id;
     char            *tess_id;
@@ -7505,13 +7505,13 @@
     psF64           bg;
     psF64           bg_mean_stdev;
-} p4SkyfileRow;
-
-/** Creates a new p4SkyfileRow object
- *
- *  @return A new p4SkyfileRow object or NULL on failure.
- */
-
-p4SkyfileRow *p4SkyfileRowAlloc(
-    psS32           p4_id,
+} warpSkyfileRow;
+
+/** Creates a new warpSkyfileRow object
+ *
+ *  @return A new warpSkyfileRow object or NULL on failure.
+ */
+
+warpSkyfileRow *warpSkyfileRowAlloc(
+    psS32           warp_id,
     const char      *skycell_id,
     const char      *tess_id,
@@ -7521,19 +7521,19 @@
 );
 
-/** Creates a new p4Skyfile table
- *
- * @return true on success
- */
-
-bool p4SkyfileCreateTable(
+/** Creates a new warpSkyfile table
+ *
+ * @return true on success
+ */
+
+bool warpSkyfileCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p4Skyfile table
- *
- * @return true on success
- */
-
-bool p4SkyfileDropTable(
+/** Deletes a warpSkyfile table
+ *
+ * @return true on success
+ */
+
+bool warpSkyfileDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -7546,7 +7546,7 @@
  */
 
-bool p4SkyfileInsert(
-    psDB            *dbh,               ///< Database handle
-    psS32           p4_id,
+bool warpSkyfileInsert(
+    psDB            *dbh,               ///< Database handle
+    psS32           warp_id,
     const char      *skycell_id,
     const char      *tess_id,
@@ -7561,5 +7561,5 @@
  */
 
-long long p4SkyfileDelete(
+long long warpSkyfileDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -7567,5 +7567,5 @@
 );
 
-/** Insert a single p4SkyfileRow object into a table
+/** Insert a single warpSkyfileRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -7574,10 +7574,10 @@
  */
 
-bool p4SkyfileInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p4SkyfileRow    *object             ///< p4SkyfileRow object
-);
-
-/** Insert an array of p4SkyfileRow object into a table
+bool warpSkyfileInsertObject(
+    psDB            *dbh,               ///< Database handle
+    warpSkyfileRow  *object             ///< warpSkyfileRow object
+);
+
+/** Insert an array of warpSkyfileRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -7586,10 +7586,10 @@
  */
 
-bool p4SkyfileInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p4SkyfileRow objects
-);
-
-/** Insert data from a binary FITS table p4SkyfileRow into the database
+bool warpSkyfileInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of warpSkyfileRow objects
+);
+
+/** Insert data from a binary FITS table warpSkyfileRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -7601,5 +7601,5 @@
  */
 
-bool p4SkyfileInsertFits(
+bool warpSkyfileInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -7616,5 +7616,5 @@
  */
 
-bool p4SkyfileSelectRowsFits(
+bool warpSkyfileSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -7623,22 +7623,22 @@
 );
 
-/** Convert a p4SkyfileRow into an equivalent psMetadata
+/** Convert a warpSkyfileRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p4SkyfileMetadataFromObject(
-    const p4SkyfileRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *warpSkyfileMetadataFromObject(
+    const warpSkyfileRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p4SkyfileRow pointer or NULL on error
- */
-
-p4SkyfileRow *p4SkyfileObjectFromMetadata(
+ * @return A warpSkyfileRow pointer or NULL on error
+ */
+
+warpSkyfileRow *warpSkyfileObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p4SkyfileRow objects in a psArray
+/** Selects up to limit rows from the database and returns as warpSkyfileRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -7647,10 +7647,10 @@
  */
 
-psArray *p4SkyfileSelectRowObjects(
+psArray *warpSkyfileSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p4Skyfile
+/** Deletes a row from the database coresponding to an warpSkyfile
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -7660,7 +7660,7 @@
  */
 
-bool p4SkyfileDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p4SkyfileRow *object    ///< Object to delete
+bool warpSkyfileDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const warpSkyfileRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -7672,10 +7672,10 @@
  */
 
-long long p4SkyfileDeleteRowObjects(
+long long warpSkyfileDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p4SkyfileRow objects
+/** Formats and prints an array of warpSkyfileRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7685,10 +7685,10 @@
  */
 
-bool p4SkyfilePrintObjects(
+bool warpSkyfilePrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p4SkyfileRow objects
+    psArray         *objects,           ///< An array of warpSkyfileRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p4SkyfileRow object
+/** Formats and prints an warpSkyfileRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7698,16 +7698,16 @@
  */
 
-bool p4SkyfilePrintObject(
+bool warpSkyfilePrintObject(
     FILE            *stream,            ///< a stream
-    p4SkyfileRow *object,    ///< an p4SkyfileRow object
+    warpSkyfileRow *object,    ///< an warpSkyfileRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p5RunRow data structure
- *
- * Structure for representing a single row of p5Run table data.
+/** diffRunRow data structure
+ *
+ * Structure for representing a single row of diffRun table data.
  */
 
 typedef struct {
-    psS32           p5_id;
+    psS32           diff_id;
     char            *state;
     char            *workdir;
@@ -7716,13 +7716,13 @@
     char            *skycell_id;
     char            *tess_id;
-} p5RunRow;
-
-/** Creates a new p5RunRow object
- *
- *  @return A new p5RunRow object or NULL on failure.
- */
-
-p5RunRow *p5RunRowAlloc(
-    psS32           p5_id,
+} diffRunRow;
+
+/** Creates a new diffRunRow object
+ *
+ *  @return A new diffRunRow object or NULL on failure.
+ */
+
+diffRunRow *diffRunRowAlloc(
+    psS32           diff_id,
     const char      *state,
     const char      *workdir,
@@ -7733,19 +7733,19 @@
 );
 
-/** Creates a new p5Run table
- *
- * @return true on success
- */
-
-bool p5RunCreateTable(
+/** Creates a new diffRun table
+ *
+ * @return true on success
+ */
+
+bool diffRunCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p5Run table
- *
- * @return true on success
- */
-
-bool p5RunDropTable(
+/** Deletes a diffRun table
+ *
+ * @return true on success
+ */
+
+bool diffRunDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -7758,7 +7758,7 @@
  */
 
-bool p5RunInsert(
-    psDB            *dbh,               ///< Database handle
-    psS32           p5_id,
+bool diffRunInsert(
+    psDB            *dbh,               ///< Database handle
+    psS32           diff_id,
     const char      *state,
     const char      *workdir,
@@ -7774,5 +7774,5 @@
  */
 
-long long p5RunDelete(
+long long diffRunDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -7780,5 +7780,5 @@
 );
 
-/** Insert a single p5RunRow object into a table
+/** Insert a single diffRunRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -7787,10 +7787,10 @@
  */
 
-bool p5RunInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p5RunRow        *object             ///< p5RunRow object
-);
-
-/** Insert an array of p5RunRow object into a table
+bool diffRunInsertObject(
+    psDB            *dbh,               ///< Database handle
+    diffRunRow      *object             ///< diffRunRow object
+);
+
+/** Insert an array of diffRunRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -7799,10 +7799,10 @@
  */
 
-bool p5RunInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p5RunRow objects
-);
-
-/** Insert data from a binary FITS table p5RunRow into the database
+bool diffRunInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of diffRunRow objects
+);
+
+/** Insert data from a binary FITS table diffRunRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -7814,5 +7814,5 @@
  */
 
-bool p5RunInsertFits(
+bool diffRunInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -7829,5 +7829,5 @@
  */
 
-bool p5RunSelectRowsFits(
+bool diffRunSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -7836,22 +7836,22 @@
 );
 
-/** Convert a p5RunRow into an equivalent psMetadata
+/** Convert a diffRunRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p5RunMetadataFromObject(
-    const p5RunRow  *object             ///< fooRow to convert into a psMetadata
+psMetadata *diffRunMetadataFromObject(
+    const diffRunRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p5RunRow pointer or NULL on error
- */
-
-p5RunRow *p5RunObjectFromMetadata(
+ * @return A diffRunRow pointer or NULL on error
+ */
+
+diffRunRow *diffRunObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p5RunRow objects in a psArray
+/** Selects up to limit rows from the database and returns as diffRunRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -7860,10 +7860,10 @@
  */
 
-psArray *p5RunSelectRowObjects(
+psArray *diffRunSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p5Run
+/** Deletes a row from the database coresponding to an diffRun
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -7873,7 +7873,7 @@
  */
 
-bool p5RunDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p5RunRow *object    ///< Object to delete
+bool diffRunDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const diffRunRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -7885,10 +7885,10 @@
  */
 
-long long p5RunDeleteRowObjects(
+long long diffRunDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p5RunRow objects
+/** Formats and prints an array of diffRunRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7898,10 +7898,10 @@
  */
 
-bool p5RunPrintObjects(
+bool diffRunPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p5RunRow objects
+    psArray         *objects,           ///< An array of diffRunRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p5RunRow object
+/** Formats and prints an diffRunRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7911,31 +7911,31 @@
  */
 
-bool p5RunPrintObject(
+bool diffRunPrintObject(
     FILE            *stream,            ///< a stream
-    p5RunRow *object,    ///< an p5RunRow object
+    diffRunRow *object,    ///< an diffRunRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p5InputSkyfileRow data structure
- *
- * Structure for representing a single row of p5InputSkyfile table data.
+/** diffInputSkyfileRow data structure
+ *
+ * Structure for representing a single row of diffInputSkyfile table data.
  */
 
 typedef struct {
-    psS32           p5_id;
-    psS32           p4_id;
+    psS32           diff_id;
+    psS32           warp_id;
     char            *skycell_id;
     char            *tess_id;
     char            *kind;
     bool            template;
-} p5InputSkyfileRow;
-
-/** Creates a new p5InputSkyfileRow object
- *
- *  @return A new p5InputSkyfileRow object or NULL on failure.
- */
-
-p5InputSkyfileRow *p5InputSkyfileRowAlloc(
-    psS32           p5_id,
-    psS32           p4_id,
+} diffInputSkyfileRow;
+
+/** Creates a new diffInputSkyfileRow object
+ *
+ *  @return A new diffInputSkyfileRow object or NULL on failure.
+ */
+
+diffInputSkyfileRow *diffInputSkyfileRowAlloc(
+    psS32           diff_id,
+    psS32           warp_id,
     const char      *skycell_id,
     const char      *tess_id,
@@ -7944,19 +7944,19 @@
 );
 
-/** Creates a new p5InputSkyfile table
- *
- * @return true on success
- */
-
-bool p5InputSkyfileCreateTable(
+/** Creates a new diffInputSkyfile table
+ *
+ * @return true on success
+ */
+
+bool diffInputSkyfileCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p5InputSkyfile table
- *
- * @return true on success
- */
-
-bool p5InputSkyfileDropTable(
+/** Deletes a diffInputSkyfile table
+ *
+ * @return true on success
+ */
+
+bool diffInputSkyfileDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -7969,8 +7969,8 @@
  */
 
-bool p5InputSkyfileInsert(
-    psDB            *dbh,               ///< Database handle
-    psS32           p5_id,
-    psS32           p4_id,
+bool diffInputSkyfileInsert(
+    psDB            *dbh,               ///< Database handle
+    psS32           diff_id,
+    psS32           warp_id,
     const char      *skycell_id,
     const char      *tess_id,
@@ -7984,5 +7984,5 @@
  */
 
-long long p5InputSkyfileDelete(
+long long diffInputSkyfileDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -7990,5 +7990,5 @@
 );
 
-/** Insert a single p5InputSkyfileRow object into a table
+/** Insert a single diffInputSkyfileRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -7997,10 +7997,10 @@
  */
 
-bool p5InputSkyfileInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p5InputSkyfileRow *object             ///< p5InputSkyfileRow object
-);
-
-/** Insert an array of p5InputSkyfileRow object into a table
+bool diffInputSkyfileInsertObject(
+    psDB            *dbh,               ///< Database handle
+    diffInputSkyfileRow *object             ///< diffInputSkyfileRow object
+);
+
+/** Insert an array of diffInputSkyfileRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -8009,10 +8009,10 @@
  */
 
-bool p5InputSkyfileInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p5InputSkyfileRow objects
-);
-
-/** Insert data from a binary FITS table p5InputSkyfileRow into the database
+bool diffInputSkyfileInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of diffInputSkyfileRow objects
+);
+
+/** Insert data from a binary FITS table diffInputSkyfileRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -8024,5 +8024,5 @@
  */
 
-bool p5InputSkyfileInsertFits(
+bool diffInputSkyfileInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -8039,5 +8039,5 @@
  */
 
-bool p5InputSkyfileSelectRowsFits(
+bool diffInputSkyfileSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -8046,22 +8046,22 @@
 );
 
-/** Convert a p5InputSkyfileRow into an equivalent psMetadata
+/** Convert a diffInputSkyfileRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p5InputSkyfileMetadataFromObject(
-    const p5InputSkyfileRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *diffInputSkyfileMetadataFromObject(
+    const diffInputSkyfileRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p5InputSkyfileRow pointer or NULL on error
- */
-
-p5InputSkyfileRow *p5InputSkyfileObjectFromMetadata(
+ * @return A diffInputSkyfileRow pointer or NULL on error
+ */
+
+diffInputSkyfileRow *diffInputSkyfileObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p5InputSkyfileRow objects in a psArray
+/** Selects up to limit rows from the database and returns as diffInputSkyfileRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -8070,10 +8070,10 @@
  */
 
-psArray *p5InputSkyfileSelectRowObjects(
+psArray *diffInputSkyfileSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p5InputSkyfile
+/** Deletes a row from the database coresponding to an diffInputSkyfile
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -8083,7 +8083,7 @@
  */
 
-bool p5InputSkyfileDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p5InputSkyfileRow *object    ///< Object to delete
+bool diffInputSkyfileDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const diffInputSkyfileRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -8095,10 +8095,10 @@
  */
 
-long long p5InputSkyfileDeleteRowObjects(
+long long diffInputSkyfileDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p5InputSkyfileRow objects
+/** Formats and prints an array of diffInputSkyfileRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -8108,10 +8108,10 @@
  */
 
-bool p5InputSkyfilePrintObjects(
+bool diffInputSkyfilePrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p5InputSkyfileRow objects
+    psArray         *objects,           ///< An array of diffInputSkyfileRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p5InputSkyfileRow object
+/** Formats and prints an diffInputSkyfileRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -8121,28 +8121,28 @@
  */
 
-bool p5InputSkyfilePrintObject(
+bool diffInputSkyfilePrintObject(
     FILE            *stream,            ///< a stream
-    p5InputSkyfileRow *object,    ///< an p5InputSkyfileRow object
+    diffInputSkyfileRow *object,    ///< an diffInputSkyfileRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p5DiffSkyfileRow data structure
- *
- * Structure for representing a single row of p5DiffSkyfile table data.
+/** diffSkyfileRow data structure
+ *
+ * Structure for representing a single row of diffSkyfile table data.
  */
 
 typedef struct {
-    psS32           p5_id;
+    psS32           diff_id;
     char            *uri;
     psF64           bg;
     psF64           bg_mean_stdev;
-} p5DiffSkyfileRow;
-
-/** Creates a new p5DiffSkyfileRow object
- *
- *  @return A new p5DiffSkyfileRow object or NULL on failure.
- */
-
-p5DiffSkyfileRow *p5DiffSkyfileRowAlloc(
-    psS32           p5_id,
+} diffSkyfileRow;
+
+/** Creates a new diffSkyfileRow object
+ *
+ *  @return A new diffSkyfileRow object or NULL on failure.
+ */
+
+diffSkyfileRow *diffSkyfileRowAlloc(
+    psS32           diff_id,
     const char      *uri,
     psF64           bg,
@@ -8150,19 +8150,19 @@
 );
 
-/** Creates a new p5DiffSkyfile table
- *
- * @return true on success
- */
-
-bool p5DiffSkyfileCreateTable(
+/** Creates a new diffSkyfile table
+ *
+ * @return true on success
+ */
+
+bool diffSkyfileCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p5DiffSkyfile table
- *
- * @return true on success
- */
-
-bool p5DiffSkyfileDropTable(
+/** Deletes a diffSkyfile table
+ *
+ * @return true on success
+ */
+
+bool diffSkyfileDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -8175,7 +8175,7 @@
  */
 
-bool p5DiffSkyfileInsert(
-    psDB            *dbh,               ///< Database handle
-    psS32           p5_id,
+bool diffSkyfileInsert(
+    psDB            *dbh,               ///< Database handle
+    psS32           diff_id,
     const char      *uri,
     psF64           bg,
@@ -8188,5 +8188,5 @@
  */
 
-long long p5DiffSkyfileDelete(
+long long diffSkyfileDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -8194,5 +8194,5 @@
 );
 
-/** Insert a single p5DiffSkyfileRow object into a table
+/** Insert a single diffSkyfileRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -8201,10 +8201,10 @@
  */
 
-bool p5DiffSkyfileInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p5DiffSkyfileRow *object             ///< p5DiffSkyfileRow object
-);
-
-/** Insert an array of p5DiffSkyfileRow object into a table
+bool diffSkyfileInsertObject(
+    psDB            *dbh,               ///< Database handle
+    diffSkyfileRow  *object             ///< diffSkyfileRow object
+);
+
+/** Insert an array of diffSkyfileRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -8213,10 +8213,10 @@
  */
 
-bool p5DiffSkyfileInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p5DiffSkyfileRow objects
-);
-
-/** Insert data from a binary FITS table p5DiffSkyfileRow into the database
+bool diffSkyfileInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of diffSkyfileRow objects
+);
+
+/** Insert data from a binary FITS table diffSkyfileRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -8228,5 +8228,5 @@
  */
 
-bool p5DiffSkyfileInsertFits(
+bool diffSkyfileInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -8243,5 +8243,5 @@
  */
 
-bool p5DiffSkyfileSelectRowsFits(
+bool diffSkyfileSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -8250,22 +8250,22 @@
 );
 
-/** Convert a p5DiffSkyfileRow into an equivalent psMetadata
+/** Convert a diffSkyfileRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p5DiffSkyfileMetadataFromObject(
-    const p5DiffSkyfileRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *diffSkyfileMetadataFromObject(
+    const diffSkyfileRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p5DiffSkyfileRow pointer or NULL on error
- */
-
-p5DiffSkyfileRow *p5DiffSkyfileObjectFromMetadata(
+ * @return A diffSkyfileRow pointer or NULL on error
+ */
+
+diffSkyfileRow *diffSkyfileObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p5DiffSkyfileRow objects in a psArray
+/** Selects up to limit rows from the database and returns as diffSkyfileRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -8274,10 +8274,10 @@
  */
 
-psArray *p5DiffSkyfileSelectRowObjects(
+psArray *diffSkyfileSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p5DiffSkyfile
+/** Deletes a row from the database coresponding to an diffSkyfile
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -8287,7 +8287,7 @@
  */
 
-bool p5DiffSkyfileDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p5DiffSkyfileRow *object    ///< Object to delete
+bool diffSkyfileDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const diffSkyfileRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -8299,10 +8299,10 @@
  */
 
-long long p5DiffSkyfileDeleteRowObjects(
+long long diffSkyfileDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p5DiffSkyfileRow objects
+/** Formats and prints an array of diffSkyfileRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -8312,10 +8312,10 @@
  */
 
-bool p5DiffSkyfilePrintObjects(
+bool diffSkyfilePrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p5DiffSkyfileRow objects
+    psArray         *objects,           ///< An array of diffSkyfileRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p5DiffSkyfileRow object
+/** Formats and prints an diffSkyfileRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -8325,16 +8325,16 @@
  */
 
-bool p5DiffSkyfilePrintObject(
+bool diffSkyfilePrintObject(
     FILE            *stream,            ///< a stream
-    p5DiffSkyfileRow *object,    ///< an p5DiffSkyfileRow object
+    diffSkyfileRow *object,    ///< an diffSkyfileRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p6RunRow data structure
- *
- * Structure for representing a single row of p6Run table data.
+/** stackRunRow data structure
+ *
+ * Structure for representing a single row of stackRun table data.
  */
 
 typedef struct {
-    psS32           p6_id;
+    psS32           stack_id;
     char            *state;
     char            *workdir;
@@ -8343,13 +8343,13 @@
     char            *skycell_id;
     char            *tess_id;
-} p6RunRow;
-
-/** Creates a new p6RunRow object
- *
- *  @return A new p6RunRow object or NULL on failure.
- */
-
-p6RunRow *p6RunRowAlloc(
-    psS32           p6_id,
+} stackRunRow;
+
+/** Creates a new stackRunRow object
+ *
+ *  @return A new stackRunRow object or NULL on failure.
+ */
+
+stackRunRow *stackRunRowAlloc(
+    psS32           stack_id,
     const char      *state,
     const char      *workdir,
@@ -8360,19 +8360,19 @@
 );
 
-/** Creates a new p6Run table
- *
- * @return true on success
- */
-
-bool p6RunCreateTable(
+/** Creates a new stackRun table
+ *
+ * @return true on success
+ */
+
+bool stackRunCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p6Run table
- *
- * @return true on success
- */
-
-bool p6RunDropTable(
+/** Deletes a stackRun table
+ *
+ * @return true on success
+ */
+
+bool stackRunDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -8385,7 +8385,7 @@
  */
 
-bool p6RunInsert(
-    psDB            *dbh,               ///< Database handle
-    psS32           p6_id,
+bool stackRunInsert(
+    psDB            *dbh,               ///< Database handle
+    psS32           stack_id,
     const char      *state,
     const char      *workdir,
@@ -8401,5 +8401,5 @@
  */
 
-long long p6RunDelete(
+long long stackRunDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -8407,5 +8407,5 @@
 );
 
-/** Insert a single p6RunRow object into a table
+/** Insert a single stackRunRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -8414,10 +8414,10 @@
  */
 
-bool p6RunInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p6RunRow        *object             ///< p6RunRow object
-);
-
-/** Insert an array of p6RunRow object into a table
+bool stackRunInsertObject(
+    psDB            *dbh,               ///< Database handle
+    stackRunRow     *object             ///< stackRunRow object
+);
+
+/** Insert an array of stackRunRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -8426,10 +8426,10 @@
  */
 
-bool p6RunInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p6RunRow objects
-);
-
-/** Insert data from a binary FITS table p6RunRow into the database
+bool stackRunInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of stackRunRow objects
+);
+
+/** Insert data from a binary FITS table stackRunRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -8441,5 +8441,5 @@
  */
 
-bool p6RunInsertFits(
+bool stackRunInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -8456,5 +8456,5 @@
  */
 
-bool p6RunSelectRowsFits(
+bool stackRunSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -8463,22 +8463,22 @@
 );
 
-/** Convert a p6RunRow into an equivalent psMetadata
+/** Convert a stackRunRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p6RunMetadataFromObject(
-    const p6RunRow  *object             ///< fooRow to convert into a psMetadata
+psMetadata *stackRunMetadataFromObject(
+    const stackRunRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p6RunRow pointer or NULL on error
- */
-
-p6RunRow *p6RunObjectFromMetadata(
+ * @return A stackRunRow pointer or NULL on error
+ */
+
+stackRunRow *stackRunObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p6RunRow objects in a psArray
+/** Selects up to limit rows from the database and returns as stackRunRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -8487,10 +8487,10 @@
  */
 
-psArray *p6RunSelectRowObjects(
+psArray *stackRunSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p6Run
+/** Deletes a row from the database coresponding to an stackRun
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -8500,7 +8500,7 @@
  */
 
-bool p6RunDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p6RunRow *object    ///< Object to delete
+bool stackRunDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const stackRunRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -8512,10 +8512,10 @@
  */
 
-long long p6RunDeleteRowObjects(
+long long stackRunDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p6RunRow objects
+/** Formats and prints an array of stackRunRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -8525,10 +8525,10 @@
  */
 
-bool p6RunPrintObjects(
+bool stackRunPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p6RunRow objects
+    psArray         *objects,           ///< An array of stackRunRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p6RunRow object
+/** Formats and prints an stackRunRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -8538,44 +8538,44 @@
  */
 
-bool p6RunPrintObject(
+bool stackRunPrintObject(
     FILE            *stream,            ///< a stream
-    p6RunRow *object,    ///< an p6RunRow object
+    stackRunRow *object,    ///< an stackRunRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p6InputSkyfileRow data structure
- *
- * Structure for representing a single row of p6InputSkyfile table data.
+/** stackInputSkyfileRow data structure
+ *
+ * Structure for representing a single row of stackInputSkyfile table data.
  */
 
 typedef struct {
-    psS32           p6_id;
-    psS32           p4_id;
-} p6InputSkyfileRow;
-
-/** Creates a new p6InputSkyfileRow object
- *
- *  @return A new p6InputSkyfileRow object or NULL on failure.
- */
-
-p6InputSkyfileRow *p6InputSkyfileRowAlloc(
-    psS32           p6_id,
-    psS32           p4_id
-);
-
-/** Creates a new p6InputSkyfile table
- *
- * @return true on success
- */
-
-bool p6InputSkyfileCreateTable(
+    psS32           stack_id;
+    psS32           warp_id;
+} stackInputSkyfileRow;
+
+/** Creates a new stackInputSkyfileRow object
+ *
+ *  @return A new stackInputSkyfileRow object or NULL on failure.
+ */
+
+stackInputSkyfileRow *stackInputSkyfileRowAlloc(
+    psS32           stack_id,
+    psS32           warp_id
+);
+
+/** Creates a new stackInputSkyfile table
+ *
+ * @return true on success
+ */
+
+bool stackInputSkyfileCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p6InputSkyfile table
- *
- * @return true on success
- */
-
-bool p6InputSkyfileDropTable(
+/** Deletes a stackInputSkyfile table
+ *
+ * @return true on success
+ */
+
+bool stackInputSkyfileDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -8588,8 +8588,8 @@
  */
 
-bool p6InputSkyfileInsert(
-    psDB            *dbh,               ///< Database handle
-    psS32           p6_id,
-    psS32           p4_id
+bool stackInputSkyfileInsert(
+    psDB            *dbh,               ///< Database handle
+    psS32           stack_id,
+    psS32           warp_id
 );
 
@@ -8599,5 +8599,5 @@
  */
 
-long long p6InputSkyfileDelete(
+long long stackInputSkyfileDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -8605,5 +8605,5 @@
 );
 
-/** Insert a single p6InputSkyfileRow object into a table
+/** Insert a single stackInputSkyfileRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -8612,10 +8612,10 @@
  */
 
-bool p6InputSkyfileInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p6InputSkyfileRow *object             ///< p6InputSkyfileRow object
-);
-
-/** Insert an array of p6InputSkyfileRow object into a table
+bool stackInputSkyfileInsertObject(
+    psDB            *dbh,               ///< Database handle
+    stackInputSkyfileRow *object             ///< stackInputSkyfileRow object
+);
+
+/** Insert an array of stackInputSkyfileRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -8624,10 +8624,10 @@
  */
 
-bool p6InputSkyfileInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p6InputSkyfileRow objects
-);
-
-/** Insert data from a binary FITS table p6InputSkyfileRow into the database
+bool stackInputSkyfileInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of stackInputSkyfileRow objects
+);
+
+/** Insert data from a binary FITS table stackInputSkyfileRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -8639,5 +8639,5 @@
  */
 
-bool p6InputSkyfileInsertFits(
+bool stackInputSkyfileInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -8654,5 +8654,5 @@
  */
 
-bool p6InputSkyfileSelectRowsFits(
+bool stackInputSkyfileSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -8661,22 +8661,22 @@
 );
 
-/** Convert a p6InputSkyfileRow into an equivalent psMetadata
+/** Convert a stackInputSkyfileRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p6InputSkyfileMetadataFromObject(
-    const p6InputSkyfileRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *stackInputSkyfileMetadataFromObject(
+    const stackInputSkyfileRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p6InputSkyfileRow pointer or NULL on error
- */
-
-p6InputSkyfileRow *p6InputSkyfileObjectFromMetadata(
+ * @return A stackInputSkyfileRow pointer or NULL on error
+ */
+
+stackInputSkyfileRow *stackInputSkyfileObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p6InputSkyfileRow objects in a psArray
+/** Selects up to limit rows from the database and returns as stackInputSkyfileRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -8685,10 +8685,10 @@
  */
 
-psArray *p6InputSkyfileSelectRowObjects(
+psArray *stackInputSkyfileSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p6InputSkyfile
+/** Deletes a row from the database coresponding to an stackInputSkyfile
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -8698,7 +8698,7 @@
  */
 
-bool p6InputSkyfileDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p6InputSkyfileRow *object    ///< Object to delete
+bool stackInputSkyfileDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const stackInputSkyfileRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -8710,10 +8710,10 @@
  */
 
-long long p6InputSkyfileDeleteRowObjects(
+long long stackInputSkyfileDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p6InputSkyfileRow objects
+/** Formats and prints an array of stackInputSkyfileRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -8723,10 +8723,10 @@
  */
 
-bool p6InputSkyfilePrintObjects(
+bool stackInputSkyfilePrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p6InputSkyfileRow objects
+    psArray         *objects,           ///< An array of stackInputSkyfileRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p6InputSkyfileRow object
+/** Formats and prints an stackInputSkyfileRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -8736,28 +8736,28 @@
  */
 
-bool p6InputSkyfilePrintObject(
+bool stackInputSkyfilePrintObject(
     FILE            *stream,            ///< a stream
-    p6InputSkyfileRow *object,    ///< an p6InputSkyfileRow object
+    stackInputSkyfileRow *object,    ///< an stackInputSkyfileRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p6SumSkyfileRow data structure
- *
- * Structure for representing a single row of p6SumSkyfile table data.
+/** stackSumSkyfileRow data structure
+ *
+ * Structure for representing a single row of stackSumSkyfile table data.
  */
 
 typedef struct {
-    psS32           p6_id;
+    psS32           stack_id;
     char            *uri;
     psF64           bg;
     psF64           bg_mean_stdev;
-} p6SumSkyfileRow;
-
-/** Creates a new p6SumSkyfileRow object
- *
- *  @return A new p6SumSkyfileRow object or NULL on failure.
- */
-
-p6SumSkyfileRow *p6SumSkyfileRowAlloc(
-    psS32           p6_id,
+} stackSumSkyfileRow;
+
+/** Creates a new stackSumSkyfileRow object
+ *
+ *  @return A new stackSumSkyfileRow object or NULL on failure.
+ */
+
+stackSumSkyfileRow *stackSumSkyfileRowAlloc(
+    psS32           stack_id,
     const char      *uri,
     psF64           bg,
@@ -8765,19 +8765,19 @@
 );
 
-/** Creates a new p6SumSkyfile table
- *
- * @return true on success
- */
-
-bool p6SumSkyfileCreateTable(
+/** Creates a new stackSumSkyfile table
+ *
+ * @return true on success
+ */
+
+bool stackSumSkyfileCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p6SumSkyfile table
- *
- * @return true on success
- */
-
-bool p6SumSkyfileDropTable(
+/** Deletes a stackSumSkyfile table
+ *
+ * @return true on success
+ */
+
+bool stackSumSkyfileDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -8790,7 +8790,7 @@
  */
 
-bool p6SumSkyfileInsert(
-    psDB            *dbh,               ///< Database handle
-    psS32           p6_id,
+bool stackSumSkyfileInsert(
+    psDB            *dbh,               ///< Database handle
+    psS32           stack_id,
     const char      *uri,
     psF64           bg,
@@ -8803,5 +8803,5 @@
  */
 
-long long p6SumSkyfileDelete(
+long long stackSumSkyfileDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -8809,5 +8809,5 @@
 );
 
-/** Insert a single p6SumSkyfileRow object into a table
+/** Insert a single stackSumSkyfileRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -8816,10 +8816,10 @@
  */
 
-bool p6SumSkyfileInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p6SumSkyfileRow *object             ///< p6SumSkyfileRow object
-);
-
-/** Insert an array of p6SumSkyfileRow object into a table
+bool stackSumSkyfileInsertObject(
+    psDB            *dbh,               ///< Database handle
+    stackSumSkyfileRow *object             ///< stackSumSkyfileRow object
+);
+
+/** Insert an array of stackSumSkyfileRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -8828,10 +8828,10 @@
  */
 
-bool p6SumSkyfileInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p6SumSkyfileRow objects
-);
-
-/** Insert data from a binary FITS table p6SumSkyfileRow into the database
+bool stackSumSkyfileInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of stackSumSkyfileRow objects
+);
+
+/** Insert data from a binary FITS table stackSumSkyfileRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -8843,5 +8843,5 @@
  */
 
-bool p6SumSkyfileInsertFits(
+bool stackSumSkyfileInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -8858,5 +8858,5 @@
  */
 
-bool p6SumSkyfileSelectRowsFits(
+bool stackSumSkyfileSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -8865,22 +8865,22 @@
 );
 
-/** Convert a p6SumSkyfileRow into an equivalent psMetadata
+/** Convert a stackSumSkyfileRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p6SumSkyfileMetadataFromObject(
-    const p6SumSkyfileRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *stackSumSkyfileMetadataFromObject(
+    const stackSumSkyfileRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p6SumSkyfileRow pointer or NULL on error
- */
-
-p6SumSkyfileRow *p6SumSkyfileObjectFromMetadata(
+ * @return A stackSumSkyfileRow pointer or NULL on error
+ */
+
+stackSumSkyfileRow *stackSumSkyfileObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p6SumSkyfileRow objects in a psArray
+/** Selects up to limit rows from the database and returns as stackSumSkyfileRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -8889,10 +8889,10 @@
  */
 
-psArray *p6SumSkyfileSelectRowObjects(
+psArray *stackSumSkyfileSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p6SumSkyfile
+/** Deletes a row from the database coresponding to an stackSumSkyfile
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -8902,7 +8902,7 @@
  */
 
-bool p6SumSkyfileDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p6SumSkyfileRow *object    ///< Object to delete
+bool stackSumSkyfileDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const stackSumSkyfileRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -8914,10 +8914,10 @@
  */
 
-long long p6SumSkyfileDeleteRowObjects(
+long long stackSumSkyfileDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p6SumSkyfileRow objects
+/** Formats and prints an array of stackSumSkyfileRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -8927,10 +8927,10 @@
  */
 
-bool p6SumSkyfilePrintObjects(
+bool stackSumSkyfilePrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p6SumSkyfileRow objects
+    psArray         *objects,           ///< An array of stackSumSkyfileRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p6SumSkyfileRow object
+/** Formats and prints an stackSumSkyfileRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -8940,7 +8940,7 @@
  */
 
-bool p6SumSkyfilePrintObject(
+bool stackSumSkyfilePrintObject(
     FILE            *stream,            ///< a stream
-    p6SumSkyfileRow *object,    ///< an p6SumSkyfileRow object
+    stackSumSkyfileRow *object,    ///< an stackSumSkyfileRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
@@ -8952,3 +8952,3 @@
 #endif
 
-#endif // P6SUMSKYFILE_DB_H
+#endif // STACKSUMSKYFILE_DB_H
Index: trunk/ippdb/tests/alloc.c
===================================================================
--- trunk/ippdb/tests/alloc.c	(revision 11988)
+++ trunk/ippdb/tests/alloc.c	(revision 12026)
@@ -505,17 +505,17 @@
 
     {
-        p1PendingExpRow *object;
-
-        object = p1PendingExpRowAlloc("a string", -32, "a string"    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p1_version == -32) {
+        guidePendingExpRow *object;
+
+        object = guidePendingExpRowAlloc("a string", -32, "a string"    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->guide_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -530,21 +530,21 @@
 
     {
-        p2PendingExpRow *object;
-
-        object = p2PendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", "a string"    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p2_version == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p1_version == -32) {
+        chipPendingExpRow *object;
+
+        object = chipPendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", "a string"    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->chip_version == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->guide_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -571,21 +571,21 @@
 
     {
-        p2PendingImfileRow *object;
-
-        object = p2PendingImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string"    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p2_version == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p1_version == -32) {
+        chipPendingImfileRow *object;
+
+        object = chipPendingImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string"    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->chip_version == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->guide_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -608,21 +608,21 @@
 
     {
-        p2ProcessedExpRow *object;
-
-        object = p2ProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string"    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p2_version == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p1_version == -32) {
+        chipProcessedExpRow *object;
+
+        object = chipProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string"    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->chip_version == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->guide_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -645,7 +645,7 @@
 
     {
-        p2MaskRow       *object;
-
-        object = p2MaskRowAlloc("a string"    );
+        chipMaskRow     *object;
+
+        object = chipMaskRowAlloc("a string"    );
 
         if (!object) {
@@ -662,21 +662,21 @@
 
     {
-        p2ProcessedImfileRow *object;
-
-        object = p2ProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p2_version == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p1_version == -32) {
+        chipProcessedImfileRow *object;
+
+        object = chipProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->chip_version == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->guide_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -723,21 +723,21 @@
 
     {
-        p3PendingExpRow *object;
-
-        object = p3PendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string"    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p3_version == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p2_version == -32) {
+        camPendingExpRow *object;
+
+        object = camPendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string"    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->cam_version == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->chip_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -760,21 +760,21 @@
 
     {
-        p3ProcessedExpRow *object;
-
-        object = p3ProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string"    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p3_version == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p2_version == -32) {
+        camProcessedExpRow *object;
+
+        object = camProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string"    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->cam_version == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->chip_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -849,7 +849,7 @@
 
     {
-        p3MaskRow       *object;
-
-        object = p3MaskRowAlloc("a string"    );
+        camMaskRow      *object;
+
+        object = camMaskRowAlloc("a string"    );
 
         if (!object) {
@@ -1460,13 +1460,13 @@
 
     {
-        p4RunRow        *object;
-
-        object = p4RunRowAlloc(-32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z"    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!object->p4_id == -32) {
+        warpRunRow      *object;
+
+        object = warpRunRowAlloc(-32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z"    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!object->warp_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1496,21 +1496,21 @@
 
     {
-        p4InputExpRow   *object;
-
-        object = p4InputExpRowAlloc(-32, "a string", -32, true    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!object->p4_id == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p3_version == -32) {
+        warpInputExpRow *object;
+
+        object = warpInputExpRowAlloc(-32, "a string", -32, true    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!object->warp_id == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->cam_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1525,13 +1525,13 @@
 
     {
-        p4SkyCellMapRow *object;
-
-        object = p4SkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string"    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!object->p4_id == -32) {
+        warpSkyCellMapRow *object;
+
+        object = warpSkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string"    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!object->warp_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1549,5 +1549,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->p3_version == -32) {
+        if (!object->cam_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1562,13 +1562,13 @@
 
     {
-        p4SkyfileRow    *object;
-
-        object = p4SkyfileRowAlloc(-32, "a string", "a string", "a string", 64.64, 64.64    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!object->p4_id == -32) {
+        warpSkyfileRow  *object;
+
+        object = warpSkyfileRowAlloc(-32, "a string", "a string", "a string", 64.64, 64.64    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!object->warp_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1599,13 +1599,13 @@
 
     {
-        p5RunRow        *object;
-
-        object = p5RunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string"    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!object->p5_id == -32) {
+        diffRunRow      *object;
+
+        object = diffRunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string"    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!object->diff_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1639,17 +1639,17 @@
 
     {
-        p5InputSkyfileRow *object;
-
-        object = p5InputSkyfileRowAlloc(-32, -32, "a string", "a string", "a string", true    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!object->p5_id == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p4_id == -32) {
+        diffInputSkyfileRow *object;
+
+        object = diffInputSkyfileRowAlloc(-32, -32, "a string", "a string", "a string", true    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!object->diff_id == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->warp_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1676,13 +1676,13 @@
 
     {
-        p5DiffSkyfileRow *object;
-
-        object = p5DiffSkyfileRowAlloc(-32, "a string", 64.64, 64.64    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!object->p5_id == -32) {
+        diffSkyfileRow  *object;
+
+        object = diffSkyfileRowAlloc(-32, "a string", 64.64, 64.64    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!object->diff_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1705,13 +1705,13 @@
 
     {
-        p6RunRow        *object;
-
-        object = p6RunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string"    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!object->p6_id == -32) {
+        stackRunRow     *object;
+
+        object = stackRunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string"    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!object->stack_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1745,34 +1745,34 @@
 
     {
-        p6InputSkyfileRow *object;
-
-        object = p6InputSkyfileRowAlloc(-32, -32    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!object->p6_id == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p4_id == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-    }
-
-    {
-        p6SumSkyfileRow *object;
-
-        object = p6SumSkyfileRowAlloc(-32, "a string", 64.64, 64.64    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!object->p6_id == -32) {
+        stackInputSkyfileRow *object;
+
+        object = stackInputSkyfileRowAlloc(-32, -32    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!object->stack_id == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->warp_id == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+    }
+
+    {
+        stackSumSkyfileRow *object;
+
+        object = stackSumSkyfileRowAlloc(-32, "a string", 64.64, 64.64    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!object->stack_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
Index: trunk/ippdb/tests/createtable.c
===================================================================
--- trunk/ippdb/tests/createtable.c	(revision 11988)
+++ trunk/ippdb/tests/createtable.c	(revision 12026)
@@ -178,125 +178,125 @@
         }
 
-        if(!p1PendingExpCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p2PendingExpCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p2PendingImfileCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p2ProcessedExpCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p2MaskCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p2ProcessedImfileCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p3PendingExpCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p3ProcessedExpCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p3MaskCreateTable(dbh)) {
+        if(!guidePendingExpCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!chipPendingExpCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!chipPendingImfileCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!chipProcessedExpCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!chipMaskCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!chipProcessedImfileCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!camPendingExpCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!camProcessedExpCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!camMaskCreateTable(dbh)) {
             exit(EXIT_FAILURE);
         }
@@ -478,140 +478,140 @@
         }
 
-        if(!p4RunCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p4InputExpCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p4SkyCellMapCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p4SkyfileCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p5RunCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p5InputSkyfileCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p5DiffSkyfileCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p6RunCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p6InputSkyfileCreateTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if(!p6SumSkyfileCreateTable(dbh)) {
+        if(!warpRunCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!warpInputExpCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!warpSkyCellMapCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!warpSkyfileCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!diffRunCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!diffInputSkyfileCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!diffSkyfileCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!stackRunCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!stackInputSkyfileCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if(!stackSumSkyfileCreateTable(dbh)) {
             exit(EXIT_FAILURE);
         }
Index: trunk/ippdb/tests/dbcleanup.c
===================================================================
--- trunk/ippdb/tests/dbcleanup.c	(revision 11988)
+++ trunk/ippdb/tests/dbcleanup.c	(revision 12026)
@@ -22,13 +22,13 @@
     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS rawExp");
     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS rawImfile");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p1PendingExp");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2PendingExp");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2PendingImfile");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2ProcessedExp");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2Mask");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2ProcessedImfile");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3PendingExp");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3ProcessedExp");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3Mask");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS guidePendingExp");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipPendingExp");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipPendingImfile");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipProcessedExp");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipMask");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipProcessedImfile");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS camPendingExp");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS camProcessedExp");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS camMask");
     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detRun");
     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detInputExp");
@@ -42,14 +42,14 @@
     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detResidExp");
     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detRunSummary");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4Run");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4InputExp");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4SkyCellMap");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4Skyfile");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p5Run");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p5InputSkyfile");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p5DiffSkyfile");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p6Run");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p6InputSkyfile");
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p6SumSkyfile");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpRun");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpInputExp");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpSkyCellMap");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpSkyfile");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS diffRun");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS diffInputSkyfile");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS diffSkyfile");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS stackRun");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS stackInputSkyfile");
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS stackSumSkyfile");
 
     psDBCleanup(dbh);
Index: trunk/ippdb/tests/dbsetup.c
===================================================================
--- trunk/ippdb/tests/dbsetup.c	(revision 11988)
+++ trunk/ippdb/tests/dbsetup.c	(revision 12026)
@@ -46,30 +46,30 @@
     rawImfileCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p1PendingExp");
-    p1PendingExpCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS guidePendingExp");
+    guidePendingExpCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2PendingExp");
-    p2PendingExpCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipPendingExp");
+    chipPendingExpCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2PendingImfile");
-    p2PendingImfileCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipPendingImfile");
+    chipPendingImfileCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2ProcessedExp");
-    p2ProcessedExpCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipProcessedExp");
+    chipProcessedExpCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2Mask");
-    p2MaskCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipMask");
+    chipMaskCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2ProcessedImfile");
-    p2ProcessedImfileCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipProcessedImfile");
+    chipProcessedImfileCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3PendingExp");
-    p3PendingExpCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS camPendingExp");
+    camPendingExpCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3ProcessedExp");
-    p3ProcessedExpCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS camProcessedExp");
+    camProcessedExpCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3Mask");
-    p3MaskCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS camMask");
+    camMaskCreateTable(dbh);
 
     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detRun");
@@ -106,33 +106,33 @@
     detRunSummaryCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4Run");
-    p4RunCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpRun");
+    warpRunCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4InputExp");
-    p4InputExpCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpInputExp");
+    warpInputExpCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4SkyCellMap");
-    p4SkyCellMapCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpSkyCellMap");
+    warpSkyCellMapCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4Skyfile");
-    p4SkyfileCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpSkyfile");
+    warpSkyfileCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p5Run");
-    p5RunCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS diffRun");
+    diffRunCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p5InputSkyfile");
-    p5InputSkyfileCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS diffInputSkyfile");
+    diffInputSkyfileCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p5DiffSkyfile");
-    p5DiffSkyfileCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS diffSkyfile");
+    diffSkyfileCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p6Run");
-    p6RunCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS stackRun");
+    stackRunCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p6InputSkyfile");
-    p6InputSkyfileCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS stackInputSkyfile");
+    stackInputSkyfileCreateTable(dbh);
 
-    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p6SumSkyfile");
-    p6SumSkyfileCreateTable(dbh);
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS stackSumSkyfile");
+    stackSumSkyfileCreateTable(dbh);
 
     psDBCleanup(dbh);
Index: trunk/ippdb/tests/droptable.c
===================================================================
--- trunk/ippdb/tests/droptable.c	(revision 11988)
+++ trunk/ippdb/tests/droptable.c	(revision 12026)
@@ -178,125 +178,125 @@
         }
 
-        if (!p1PendingExpDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2PendingExpDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2PendingImfileDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2ProcessedExpDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2MaskDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2ProcessedImfileDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3PendingExpDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3ProcessedExpDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3MaskDropTable(dbh)) {
+        if (!guidePendingExpDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipPendingExpDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipPendingImfileDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipProcessedExpDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipMaskDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipProcessedImfileDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camPendingExpDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camProcessedExpDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camMaskDropTable(dbh)) {
             exit(EXIT_FAILURE);
         }
@@ -478,140 +478,140 @@
         }
 
-        if (!p4RunDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4InputExpDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4SkyCellMapDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4SkyfileDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5RunDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5InputSkyfileDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5DiffSkyfileDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6RunDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6InputSkyfileDropTable(dbh)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6SumSkyfileDropTable(dbh)) {
+        if (!warpRunDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpInputExpDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpSkyCellMapDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpSkyfileDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffRunDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffInputSkyfileDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffSkyfileDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackRunDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackInputSkyfileDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackSumSkyfileDropTable(dbh)) {
             exit(EXIT_FAILURE);
         }
Index: trunk/ippdb/tests/insert.c
===================================================================
--- trunk/ippdb/tests/insert.c	(revision 11988)
+++ trunk/ippdb/tests/insert.c	(revision 12026)
@@ -178,125 +178,125 @@
         }
 
-        if (!p1PendingExpInsert(dbh, "a string", -32, "a string")) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2PendingExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", "a string")) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2PendingImfileInsert(dbh, "a string", -32, -32, "a string", "a string", "a string")) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2ProcessedExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string")) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2MaskInsert(dbh, "a string")) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2ProcessedImfileInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3PendingExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string")) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3ProcessedExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string")) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3MaskInsert(dbh, "a string")) {
+        if (!guidePendingExpInsert(dbh, "a string", -32, "a string")) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipPendingExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", "a string")) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipPendingImfileInsert(dbh, "a string", -32, -32, "a string", "a string", "a string")) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipProcessedExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string")) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipMaskInsert(dbh, "a string")) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipProcessedImfileInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camPendingExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string")) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camProcessedExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string")) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camMaskInsert(dbh, "a string")) {
             exit(EXIT_FAILURE);
         }
@@ -478,140 +478,140 @@
         }
 
-        if (!p4RunInsert(dbh, -32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z")) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4InputExpInsert(dbh, -32, "a string", -32, true)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4SkyCellMapInsert(dbh, -32, "a string", "a string", "a string", -32, "a string")) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4SkyfileInsert(dbh, -32, "a string", "a string", "a string", 64.64, 64.64)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5RunInsert(dbh, -32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string")) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5InputSkyfileInsert(dbh, -32, -32, "a string", "a string", "a string", true)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5DiffSkyfileInsert(dbh, -32, "a string", 64.64, 64.64)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6RunInsert(dbh, -32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string")) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6InputSkyfileInsert(dbh, -32, -32)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6SumSkyfileInsert(dbh, -32, "a string", 64.64, 64.64)) {
+        if (!warpRunInsert(dbh, -32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z")) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpInputExpInsert(dbh, -32, "a string", -32, true)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpSkyCellMapInsert(dbh, -32, "a string", "a string", "a string", -32, "a string")) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpSkyfileInsert(dbh, -32, "a string", "a string", "a string", 64.64, 64.64)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffRunInsert(dbh, -32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string")) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffInputSkyfileInsert(dbh, -32, -32, "a string", "a string", "a string", true)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffSkyfileInsert(dbh, -32, "a string", 64.64, 64.64)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackRunInsert(dbh, -32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string")) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackInputSkyfileInsert(dbh, -32, -32)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackSumSkyfileInsert(dbh, -32, "a string", 64.64, 64.64)) {
             exit(EXIT_FAILURE);
         }
Index: trunk/ippdb/tests/insertfits.c
===================================================================
--- trunk/ippdb/tests/insertfits.c	(revision 11988)
+++ trunk/ippdb/tests/insertfits.c	(revision 12026)
@@ -310,213 +310,213 @@
         }
 
-        if (!p1PendingExpInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2PendingExpInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2PendingImfileInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2ProcessedExpInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2MaskInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2ProcessedImfileInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3PendingExpInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3ProcessedExpInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3MaskInsertFits(dbh, fits)) {
+        if (!guidePendingExpInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipPendingExpInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipPendingImfileInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipProcessedExpInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipMaskInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipProcessedImfileInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camPendingExpInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camProcessedExpInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camMaskInsertFits(dbh, fits)) {
             exit(EXIT_FAILURE);
         }
@@ -830,239 +830,239 @@
         }
 
-        if (!p4RunInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4InputExpInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4SkyCellMapInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4SkyfileInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5RunInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5InputSkyfileInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5DiffSkyfileInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6RunInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6InputSkyfileInsertFits(dbh, fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!psFitsClose(fits)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        // open a temp
-        fits = psFitsOpen(TMP_FILENAME, "r");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6SumSkyfileInsertFits(dbh, fits)) {
+        if (!warpRunInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpInputExpInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpSkyCellMapInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpSkyfileInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffRunInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffInputSkyfileInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffSkyfileInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackRunInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackInputSkyfileInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackSumSkyfileInsertFits(dbh, fits)) {
             exit(EXIT_FAILURE);
         }
Index: trunk/ippdb/tests/insertobject.c
===================================================================
--- trunk/ippdb/tests/insertobject.c	(revision 11988)
+++ trunk/ippdb/tests/insertobject.c	(revision 12026)
@@ -249,193 +249,193 @@
     {
         psDB            *dbh;
-        p1PendingExpRow *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p1PendingExpRowAlloc("a string", -32, "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p1PendingExpInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p2PendingExpRow *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p2PendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2PendingExpInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p2PendingImfileRow *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p2PendingImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2PendingImfileInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p2ProcessedExpRow *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p2ProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2ProcessedExpInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p2MaskRow       *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p2MaskRowAlloc("a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2MaskInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p2ProcessedImfileRow *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p2ProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2ProcessedImfileInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p3PendingExpRow *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p3PendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3PendingExpInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p3ProcessedExpRow *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p3ProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3ProcessedExpInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p3MaskRow       *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p3MaskRowAlloc("a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3MaskInsertObject(dbh, object)) {
+        guidePendingExpRow *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = guidePendingExpRowAlloc("a string", -32, "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!guidePendingExpInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        chipPendingExpRow *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = chipPendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipPendingExpInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        chipPendingImfileRow *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = chipPendingImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipPendingImfileInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        chipProcessedExpRow *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = chipProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipProcessedExpInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        chipMaskRow     *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = chipMaskRowAlloc("a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipMaskInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        chipProcessedImfileRow *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = chipProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipProcessedImfileInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        camPendingExpRow *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = camPendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camPendingExpInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        camProcessedExpRow *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = camProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camProcessedExpInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        camMaskRow      *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = camMaskRowAlloc("a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camMaskInsertObject(dbh, object)) {
             exit(EXIT_FAILURE);
         }
@@ -689,215 +689,215 @@
     {
         psDB            *dbh;
-        p4RunRow        *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p4RunRowAlloc(-32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4RunInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p4InputExpRow   *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p4InputExpRowAlloc(-32, "a string", -32, true);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4InputExpInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p4SkyCellMapRow *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p4SkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4SkyCellMapInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p4SkyfileRow    *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p4SkyfileRowAlloc(-32, "a string", "a string", "a string", 64.64, 64.64);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4SkyfileInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p5RunRow        *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p5RunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5RunInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p5InputSkyfileRow *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p5InputSkyfileRowAlloc(-32, -32, "a string", "a string", "a string", true);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5InputSkyfileInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p5DiffSkyfileRow *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p5DiffSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5DiffSkyfileInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p6RunRow        *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p6RunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6RunInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p6InputSkyfileRow *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p6InputSkyfileRowAlloc(-32, -32);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6InputSkyfileInsertObject(dbh, object)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        p6SumSkyfileRow *object;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        object = p6SumSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6SumSkyfileInsertObject(dbh, object)) {
+        warpRunRow      *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = warpRunRowAlloc(-32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpRunInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        warpInputExpRow *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = warpInputExpRowAlloc(-32, "a string", -32, true);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpInputExpInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        warpSkyCellMapRow *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = warpSkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpSkyCellMapInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        warpSkyfileRow  *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = warpSkyfileRowAlloc(-32, "a string", "a string", "a string", 64.64, 64.64);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpSkyfileInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        diffRunRow      *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = diffRunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffRunInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        diffInputSkyfileRow *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = diffInputSkyfileRowAlloc(-32, -32, "a string", "a string", "a string", true);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffInputSkyfileInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        diffSkyfileRow  *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = diffSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffSkyfileInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        stackRunRow     *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = stackRunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackRunInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        stackInputSkyfileRow *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = stackInputSkyfileRowAlloc(-32, -32);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackInputSkyfileInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        stackSumSkyfileRow *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = stackSumSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackSumSkyfileInsertObject(dbh, object)) {
             exit(EXIT_FAILURE);
         }
Index: trunk/ippdb/tests/metadatafromobject.c
===================================================================
--- trunk/ippdb/tests/metadatafromobject.c	(revision 11988)
+++ trunk/ippdb/tests/metadatafromobject.c	(revision 12026)
@@ -591,13 +591,13 @@
     {
         psMetadata      *md;
-        p1PendingExpRow *object;
-        bool            status;
-
-        object = p1PendingExpRowAlloc("a string", -32, "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p1PendingExpMetadataFromObject(object);
+        guidePendingExpRow *object;
+        bool            status;
+
+        object = guidePendingExpRowAlloc("a string", -32, "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = guidePendingExpMetadataFromObject(object);
         if (!md) {
             exit(EXIT_FAILURE);
@@ -610,5 +610,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
+        if (!psMetadataLookupS32(&status, md, "guide_version") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -624,13 +624,13 @@
     {
         psMetadata      *md;
-        p2PendingExpRow *object;
-        bool            status;
-
-        object = p2PendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p2PendingExpMetadataFromObject(object);
+        chipPendingExpRow *object;
+        bool            status;
+
+        object = chipPendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = chipPendingExpMetadataFromObject(object);
         if (!md) {
             exit(EXIT_FAILURE);
@@ -643,9 +643,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
+        if (!psMetadataLookupS32(&status, md, "chip_version") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "guide_version") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -673,13 +673,13 @@
     {
         psMetadata      *md;
-        p2PendingImfileRow *object;
-        bool            status;
-
-        object = p2PendingImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p2PendingImfileMetadataFromObject(object);
+        chipPendingImfileRow *object;
+        bool            status;
+
+        object = chipPendingImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = chipPendingImfileMetadataFromObject(object);
         if (!md) {
             exit(EXIT_FAILURE);
@@ -692,9 +692,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
+        if (!psMetadataLookupS32(&status, md, "chip_version") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "guide_version") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -718,13 +718,13 @@
     {
         psMetadata      *md;
-        p2ProcessedExpRow *object;
-        bool            status;
-
-        object = p2ProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p2ProcessedExpMetadataFromObject(object);
+        chipProcessedExpRow *object;
+        bool            status;
+
+        object = chipProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = chipProcessedExpMetadataFromObject(object);
         if (!md) {
             exit(EXIT_FAILURE);
@@ -737,9 +737,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
+        if (!psMetadataLookupS32(&status, md, "chip_version") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "guide_version") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -763,13 +763,13 @@
     {
         psMetadata      *md;
-        p2MaskRow       *object;
-        bool            status;
-
-        object = p2MaskRowAlloc("a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p2MaskMetadataFromObject(object);
+        chipMaskRow     *object;
+        bool            status;
+
+        object = chipMaskRowAlloc("a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = chipMaskMetadataFromObject(object);
         if (!md) {
             exit(EXIT_FAILURE);
@@ -788,13 +788,13 @@
     {
         psMetadata      *md;
-        p2ProcessedImfileRow *object;
-        bool            status;
-
-        object = p2ProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p2ProcessedImfileMetadataFromObject(object);
+        chipProcessedImfileRow *object;
+        bool            status;
+
+        object = chipProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = chipProcessedImfileMetadataFromObject(object);
         if (!md) {
             exit(EXIT_FAILURE);
@@ -807,9 +807,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
+        if (!psMetadataLookupS32(&status, md, "chip_version") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "guide_version") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -856,13 +856,13 @@
     {
         psMetadata      *md;
-        p3PendingExpRow *object;
-        bool            status;
-
-        object = p3PendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p3PendingExpMetadataFromObject(object);
+        camPendingExpRow *object;
+        bool            status;
+
+        object = camPendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = camPendingExpMetadataFromObject(object);
         if (!md) {
             exit(EXIT_FAILURE);
@@ -875,9 +875,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
+        if (!psMetadataLookupS32(&status, md, "cam_version") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "chip_version") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -901,13 +901,13 @@
     {
         psMetadata      *md;
-        p3ProcessedExpRow *object;
-        bool            status;
-
-        object = p3ProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p3ProcessedExpMetadataFromObject(object);
+        camProcessedExpRow *object;
+        bool            status;
+
+        object = camProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = camProcessedExpMetadataFromObject(object);
         if (!md) {
             exit(EXIT_FAILURE);
@@ -920,9 +920,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
+        if (!psMetadataLookupS32(&status, md, "cam_version") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "chip_version") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -997,13 +997,13 @@
     {
         psMetadata      *md;
-        p3MaskRow       *object;
-        bool            status;
-
-        object = p3MaskRowAlloc("a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p3MaskMetadataFromObject(object);
+        camMaskRow      *object;
+        bool            status;
+
+        object = camMaskRowAlloc("a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = camMaskMetadataFromObject(object);
         if (!md) {
             exit(EXIT_FAILURE);
@@ -1695,20 +1695,20 @@
     {
         psMetadata      *md;
-        p4RunRow        *object;
-        bool            status;
-
-        object = p4RunRowAlloc(-32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p4RunMetadataFromObject(object);
-        if (!md) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-
-        if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
+        warpRunRow      *object;
+        bool            status;
+
+        object = warpRunRowAlloc(-32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = warpRunMetadataFromObject(object);
+        if (!md) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+
+        if (!psMetadataLookupS32(&status, md, "warp_id") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1739,20 +1739,20 @@
     {
         psMetadata      *md;
-        p4InputExpRow   *object;
-        bool            status;
-
-        object = p4InputExpRowAlloc(-32, "a string", -32, true);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p4InputExpMetadataFromObject(object);
-        if (!md) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-
-        if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
+        warpInputExpRow *object;
+        bool            status;
+
+        object = warpInputExpRowAlloc(-32, "a string", -32, true);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = warpInputExpMetadataFromObject(object);
+        if (!md) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+
+        if (!psMetadataLookupS32(&status, md, "warp_id") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1762,5 +1762,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
+        if (!psMetadataLookupS32(&status, md, "cam_version") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1776,20 +1776,20 @@
     {
         psMetadata      *md;
-        p4SkyCellMapRow *object;
-        bool            status;
-
-        object = p4SkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p4SkyCellMapMetadataFromObject(object);
-        if (!md) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-
-        if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
+        warpSkyCellMapRow *object;
+        bool            status;
+
+        object = warpSkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = warpSkyCellMapMetadataFromObject(object);
+        if (!md) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+
+        if (!psMetadataLookupS32(&status, md, "warp_id") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1807,5 +1807,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
+        if (!psMetadataLookupS32(&status, md, "cam_version") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1821,20 +1821,20 @@
     {
         psMetadata      *md;
-        p4SkyfileRow    *object;
-        bool            status;
-
-        object = p4SkyfileRowAlloc(-32, "a string", "a string", "a string", 64.64, 64.64);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p4SkyfileMetadataFromObject(object);
-        if (!md) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-
-        if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
+        warpSkyfileRow  *object;
+        bool            status;
+
+        object = warpSkyfileRowAlloc(-32, "a string", "a string", "a string", 64.64, 64.64);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = warpSkyfileMetadataFromObject(object);
+        if (!md) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+
+        if (!psMetadataLookupS32(&status, md, "warp_id") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1866,20 +1866,20 @@
     {
         psMetadata      *md;
-        p5RunRow        *object;
-        bool            status;
-
-        object = p5RunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p5RunMetadataFromObject(object);
-        if (!md) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-
-        if (!psMetadataLookupS32(&status, md, "p5_id") == -32) {
+        diffRunRow      *object;
+        bool            status;
+
+        object = diffRunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = diffRunMetadataFromObject(object);
+        if (!md) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+
+        if (!psMetadataLookupS32(&status, md, "diff_id") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1914,24 +1914,24 @@
     {
         psMetadata      *md;
-        p5InputSkyfileRow *object;
-        bool            status;
-
-        object = p5InputSkyfileRowAlloc(-32, -32, "a string", "a string", "a string", true);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p5InputSkyfileMetadataFromObject(object);
-        if (!md) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-
-        if (!psMetadataLookupS32(&status, md, "p5_id") == -32) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
+        diffInputSkyfileRow *object;
+        bool            status;
+
+        object = diffInputSkyfileRowAlloc(-32, -32, "a string", "a string", "a string", true);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = diffInputSkyfileMetadataFromObject(object);
+        if (!md) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+
+        if (!psMetadataLookupS32(&status, md, "diff_id") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "warp_id") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1959,20 +1959,20 @@
     {
         psMetadata      *md;
-        p5DiffSkyfileRow *object;
-        bool            status;
-
-        object = p5DiffSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p5DiffSkyfileMetadataFromObject(object);
-        if (!md) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-
-        if (!psMetadataLookupS32(&status, md, "p5_id") == -32) {
+        diffSkyfileRow  *object;
+        bool            status;
+
+        object = diffSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = diffSkyfileMetadataFromObject(object);
+        if (!md) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+
+        if (!psMetadataLookupS32(&status, md, "diff_id") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1996,20 +1996,20 @@
     {
         psMetadata      *md;
-        p6RunRow        *object;
-        bool            status;
-
-        object = p6RunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p6RunMetadataFromObject(object);
-        if (!md) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-
-        if (!psMetadataLookupS32(&status, md, "p6_id") == -32) {
+        stackRunRow     *object;
+        bool            status;
+
+        object = stackRunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = stackRunMetadataFromObject(object);
+        if (!md) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+
+        if (!psMetadataLookupS32(&status, md, "stack_id") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2044,49 +2044,49 @@
     {
         psMetadata      *md;
-        p6InputSkyfileRow *object;
-        bool            status;
-
-        object = p6InputSkyfileRowAlloc(-32, -32);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p6InputSkyfileMetadataFromObject(object);
-        if (!md) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-
-        if (!psMetadataLookupS32(&status, md, "p6_id") == -32) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(md);
-    }
-
-    {
-        psMetadata      *md;
-        p6SumSkyfileRow *object;
-        bool            status;
-
-        object = p6SumSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
-        md = p6SumSkyfileMetadataFromObject(object);
-        if (!md) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-
-        if (!psMetadataLookupS32(&status, md, "p6_id") == -32) {
+        stackInputSkyfileRow *object;
+        bool            status;
+
+        object = stackInputSkyfileRowAlloc(-32, -32);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = stackInputSkyfileMetadataFromObject(object);
+        if (!md) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+
+        if (!psMetadataLookupS32(&status, md, "stack_id") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "warp_id") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(md);
+    }
+
+    {
+        psMetadata      *md;
+        stackSumSkyfileRow *object;
+        bool            status;
+
+        object = stackSumSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = stackSumSkyfileMetadataFromObject(object);
+        if (!md) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+
+        if (!psMetadataLookupS32(&status, md, "stack_id") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
Index: trunk/ippdb/tests/objectfrommetadata.c
===================================================================
--- trunk/ippdb/tests/objectfrommetadata.c	(revision 11988)
+++ trunk/ippdb/tests/objectfrommetadata.c	(revision 12026)
@@ -908,5 +908,5 @@
     {
         psMetadata      *md;
-        p1PendingExpRow *object;
+        guidePendingExpRow *object;
 
         md = psMetadataAlloc();
@@ -915,5 +915,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "guide_version", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -924,5 +924,5 @@
         }
 
-        object = p1PendingExpObjectFromMetadata(md);
+        object = guidePendingExpObjectFromMetadata(md);
         if (!object) {
             psFree(md);
@@ -936,5 +936,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->p1_version == -32) {
+        if (!object->guide_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -950,5 +950,5 @@
     {
         psMetadata      *md;
-        p2PendingExpRow *object;
+        chipPendingExpRow *object;
 
         md = psMetadataAlloc();
@@ -957,9 +957,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "chip_version", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "guide_version", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -982,5 +982,5 @@
         }
 
-        object = p2PendingExpObjectFromMetadata(md);
+        object = chipPendingExpObjectFromMetadata(md);
         if (!object) {
             psFree(md);
@@ -994,9 +994,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->p2_version == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p1_version == -32) {
+        if (!object->chip_version == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->guide_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1024,5 +1024,5 @@
     {
         psMetadata      *md;
-        p2PendingImfileRow *object;
+        chipPendingImfileRow *object;
 
         md = psMetadataAlloc();
@@ -1031,9 +1031,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "chip_version", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "guide_version", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1052,5 +1052,5 @@
         }
 
-        object = p2PendingImfileObjectFromMetadata(md);
+        object = chipPendingImfileObjectFromMetadata(md);
         if (!object) {
             psFree(md);
@@ -1064,9 +1064,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->p2_version == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p1_version == -32) {
+        if (!object->chip_version == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->guide_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1090,5 +1090,5 @@
     {
         psMetadata      *md;
-        p2ProcessedExpRow *object;
+        chipProcessedExpRow *object;
 
         md = psMetadataAlloc();
@@ -1097,9 +1097,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "chip_version", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "guide_version", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1118,5 +1118,5 @@
         }
 
-        object = p2ProcessedExpObjectFromMetadata(md);
+        object = chipProcessedExpObjectFromMetadata(md);
         if (!object) {
             psFree(md);
@@ -1130,9 +1130,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->p2_version == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p1_version == -32) {
+        if (!object->chip_version == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->guide_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1156,5 +1156,5 @@
     {
         psMetadata      *md;
-        p2MaskRow       *object;
+        chipMaskRow     *object;
 
         md = psMetadataAlloc();
@@ -1164,5 +1164,5 @@
         }
 
-        object = p2MaskObjectFromMetadata(md);
+        object = chipMaskObjectFromMetadata(md);
         if (!object) {
             psFree(md);
@@ -1182,5 +1182,5 @@
     {
         psMetadata      *md;
-        p2ProcessedImfileRow *object;
+        chipProcessedImfileRow *object;
 
         md = psMetadataAlloc();
@@ -1189,9 +1189,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "chip_version", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "guide_version", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1233,5 +1233,5 @@
         }
 
-        object = p2ProcessedImfileObjectFromMetadata(md);
+        object = chipProcessedImfileObjectFromMetadata(md);
         if (!object) {
             psFree(md);
@@ -1245,9 +1245,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->p2_version == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p1_version == -32) {
+        if (!object->chip_version == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->guide_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1294,5 +1294,5 @@
     {
         psMetadata      *md;
-        p3PendingExpRow *object;
+        camPendingExpRow *object;
 
         md = psMetadataAlloc();
@@ -1301,9 +1301,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p3_version", 0, NULL, -32)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "cam_version", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "chip_version", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1322,5 +1322,5 @@
         }
 
-        object = p3PendingExpObjectFromMetadata(md);
+        object = camPendingExpObjectFromMetadata(md);
         if (!object) {
             psFree(md);
@@ -1334,9 +1334,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->p3_version == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p2_version == -32) {
+        if (!object->cam_version == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->chip_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1360,5 +1360,5 @@
     {
         psMetadata      *md;
-        p3ProcessedExpRow *object;
+        camProcessedExpRow *object;
 
         md = psMetadataAlloc();
@@ -1367,9 +1367,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p3_version", 0, NULL, -32)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "cam_version", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "chip_version", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1439,5 +1439,5 @@
         }
 
-        object = p3ProcessedExpObjectFromMetadata(md);
+        object = camProcessedExpObjectFromMetadata(md);
         if (!object) {
             psFree(md);
@@ -1451,9 +1451,9 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->p3_version == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p2_version == -32) {
+        if (!object->cam_version == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->chip_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1528,5 +1528,5 @@
     {
         psMetadata      *md;
-        p3MaskRow       *object;
+        camMaskRow      *object;
 
         md = psMetadataAlloc();
@@ -1536,5 +1536,5 @@
         }
 
-        object = p3MaskObjectFromMetadata(md);
+        object = camMaskObjectFromMetadata(md);
         if (!object) {
             psFree(md);
@@ -2636,8 +2636,8 @@
     {
         psMetadata      *md;
-        p4RunRow        *object;
-
-        md = psMetadataAlloc();
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p4_id", 0, NULL, -32)) {
+        warpRunRow      *object;
+
+        md = psMetadataAlloc();
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "warp_id", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2663,13 +2663,13 @@
         }
 
-        object = p4RunObjectFromMetadata(md);
-        if (!object) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(md);
-
-        if (!object->p4_id == -32) {
+        object = warpRunObjectFromMetadata(md);
+        if (!object) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(md);
+
+        if (!object->warp_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -2700,8 +2700,8 @@
     {
         psMetadata      *md;
-        p4InputExpRow   *object;
-
-        md = psMetadataAlloc();
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p4_id", 0, NULL, -32)) {
+        warpInputExpRow *object;
+
+        md = psMetadataAlloc();
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "warp_id", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2711,5 +2711,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p3_version", 0, NULL, -32)) {
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "cam_version", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2720,13 +2720,13 @@
         }
 
-        object = p4InputExpObjectFromMetadata(md);
-        if (!object) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(md);
-
-        if (!object->p4_id == -32) {
+        object = warpInputExpObjectFromMetadata(md);
+        if (!object) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(md);
+
+        if (!object->warp_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -2736,5 +2736,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->p3_version == -32) {
+        if (!object->cam_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -2750,8 +2750,8 @@
     {
         psMetadata      *md;
-        p4SkyCellMapRow *object;
-
-        md = psMetadataAlloc();
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p4_id", 0, NULL, -32)) {
+        warpSkyCellMapRow *object;
+
+        md = psMetadataAlloc();
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "warp_id", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2769,5 +2769,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p3_version", 0, NULL, -32)) {
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "cam_version", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2778,13 +2778,13 @@
         }
 
-        object = p4SkyCellMapObjectFromMetadata(md);
-        if (!object) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(md);
-
-        if (!object->p4_id == -32) {
+        object = warpSkyCellMapObjectFromMetadata(md);
+        if (!object) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(md);
+
+        if (!object->warp_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -2802,5 +2802,5 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->p3_version == -32) {
+        if (!object->cam_version == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -2816,8 +2816,8 @@
     {
         psMetadata      *md;
-        p4SkyfileRow    *object;
-
-        md = psMetadataAlloc();
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p4_id", 0, NULL, -32)) {
+        warpSkyfileRow  *object;
+
+        md = psMetadataAlloc();
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "warp_id", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2844,13 +2844,13 @@
         }
 
-        object = p4SkyfileObjectFromMetadata(md);
-        if (!object) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(md);
-
-        if (!object->p4_id == -32) {
+        object = warpSkyfileObjectFromMetadata(md);
+        if (!object) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(md);
+
+        if (!object->warp_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -2882,8 +2882,8 @@
     {
         psMetadata      *md;
-        p5RunRow        *object;
-
-        md = psMetadataAlloc();
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p5_id", 0, NULL, -32)) {
+        diffRunRow      *object;
+
+        md = psMetadataAlloc();
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "diff_id", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2913,13 +2913,13 @@
         }
 
-        object = p5RunObjectFromMetadata(md);
-        if (!object) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(md);
-
-        if (!object->p5_id == -32) {
+        object = diffRunObjectFromMetadata(md);
+        if (!object) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(md);
+
+        if (!object->diff_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -2954,12 +2954,12 @@
     {
         psMetadata      *md;
-        p5InputSkyfileRow *object;
-
-        md = psMetadataAlloc();
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p5_id", 0, NULL, -32)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p4_id", 0, NULL, -32)) {
+        diffInputSkyfileRow *object;
+
+        md = psMetadataAlloc();
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "diff_id", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "warp_id", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -2982,17 +2982,17 @@
         }
 
-        object = p5InputSkyfileObjectFromMetadata(md);
-        if (!object) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(md);
-
-        if (!object->p5_id == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p4_id == -32) {
+        object = diffInputSkyfileObjectFromMetadata(md);
+        if (!object) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(md);
+
+        if (!object->diff_id == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->warp_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -3020,8 +3020,8 @@
     {
         psMetadata      *md;
-        p5DiffSkyfileRow *object;
-
-        md = psMetadataAlloc();
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p5_id", 0, NULL, -32)) {
+        diffSkyfileRow  *object;
+
+        md = psMetadataAlloc();
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "diff_id", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -3040,13 +3040,13 @@
         }
 
-        object = p5DiffSkyfileObjectFromMetadata(md);
-        if (!object) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(md);
-
-        if (!object->p5_id == -32) {
+        object = diffSkyfileObjectFromMetadata(md);
+        if (!object) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(md);
+
+        if (!object->diff_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -3070,8 +3070,8 @@
     {
         psMetadata      *md;
-        p6RunRow        *object;
-
-        md = psMetadataAlloc();
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p6_id", 0, NULL, -32)) {
+        stackRunRow     *object;
+
+        md = psMetadataAlloc();
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "stack_id", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -3101,13 +3101,13 @@
         }
 
-        object = p6RunObjectFromMetadata(md);
-        if (!object) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(md);
-
-        if (!object->p6_id == -32) {
+        object = stackRunObjectFromMetadata(md);
+        if (!object) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(md);
+
+        if (!object->stack_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -3142,42 +3142,42 @@
     {
         psMetadata      *md;
-        p6InputSkyfileRow *object;
-
-        md = psMetadataAlloc();
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p6_id", 0, NULL, -32)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p4_id", 0, NULL, -32)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-
-        object = p6InputSkyfileObjectFromMetadata(md);
-        if (!object) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(md);
-
-        if (!object->p6_id == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->p4_id == -32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(object);
-    }
-
-    {
-        psMetadata      *md;
-        p6SumSkyfileRow *object;
-
-        md = psMetadataAlloc();
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p6_id", 0, NULL, -32)) {
+        stackInputSkyfileRow *object;
+
+        md = psMetadataAlloc();
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "stack_id", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "warp_id", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        object = stackInputSkyfileObjectFromMetadata(md);
+        if (!object) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(md);
+
+        if (!object->stack_id == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->warp_id == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+    }
+
+    {
+        psMetadata      *md;
+        stackSumSkyfileRow *object;
+
+        md = psMetadataAlloc();
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "stack_id", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -3196,13 +3196,13 @@
         }
 
-        object = p6SumSkyfileObjectFromMetadata(md);
-        if (!object) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(md);
-
-        if (!object->p6_id == -32) {
+        object = stackSumSkyfileObjectFromMetadata(md);
+        if (!object) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(md);
+
+        if (!object->stack_id == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
Index: trunk/ippdb/tests/selectrowsfits.c
===================================================================
--- trunk/ippdb/tests/selectrowsfits.c	(revision 11988)
+++ trunk/ippdb/tests/selectrowsfits.c	(revision 12026)
@@ -263,181 +263,181 @@
         }
 
-        if (!p1PendingExpSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2PendingExpSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2PendingImfileSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2ProcessedExpSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2MaskSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p2ProcessedImfileSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3PendingExpSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3ProcessedExpSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p3MaskSelectRowsFits(dbh, fits, NULL, 1)) {
+        if (!guidePendingExpSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipPendingExpSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipPendingImfileSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipProcessedExpSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipMaskSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!chipProcessedImfileSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camPendingExpSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camProcessedExpSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!camMaskSelectRowsFits(dbh, fits, NULL, 1)) {
             exit(EXIT_FAILURE);
         }
@@ -703,203 +703,203 @@
         }
 
-        if (!p4RunSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4InputExpSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4SkyCellMapSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p4SkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5RunSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5InputSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p5DiffSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6RunSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6InputSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
-            exit(EXIT_FAILURE);
-        }
-
-        psFree(fits);
-        psDBCleanup(dbh);
-    }
-
-    {
-        psDB            *dbh;
-        psFits          *fits;
-
-        dbh = psDBInit("localhost", "test", NULL, "test");
-        if (!dbh) {
-            exit(EXIT_FAILURE);
-        }
-
-        fits = psFitsOpen(TMP_FILENAME, "w");
-        if (!fits) {
-            exit(EXIT_FAILURE);
-        }
-
-        if (!p6SumSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
+        if (!warpRunSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpInputExpSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpSkyCellMapSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!warpSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffRunSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffInputSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!diffSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackRunSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackInputSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!stackSumSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
             exit(EXIT_FAILURE);
         }
