Index: trunk/ppImage/src/ppImage.c
===================================================================
--- trunk/ppImage/src/ppImage.c	(revision 6849)
+++ trunk/ppImage/src/ppImage.c	(revision 7522)
@@ -9,24 +9,25 @@
     // Determine camera, format from header if not already defined
     // Construct camera in preparation for reading
-    pmConfig *config = ppImageConfig(&argc, argv);
+    pmConfig *config = ppImageArguments(&argc, argv);
+    if (config == NULL) {
+	psErrorStackPrint(stderr, "");
+	exit(1);
+    }
 
-    // Set various tasks (define optional operations)
-    ppImageOptions *options = ppImageOptionsParse(config);
-
+    // define recipe options
     // define the active I/O files
-    ppImageParseDetrend(options, config);
+    ppImageOptions *options = ppImageParseCamera(config);
+    if (options == NULL) {
+	psErrorStackPrint(stderr, "");
+	exit(1);
+    }
 
     // Image Arithmetic Loop
-    ppImageLoop(options, config);
+    ppImageLoop(config, options);
+
+    psLogMsg ("psphot", 3, "complete psphot run: %f sec\n", psTimerMark ("complete"));
 
     // Cleaning up
-    psFree(options);
-    psFree(config);
-    psTimerStop();
-    psTraceReset();
-    pmConceptsDone();
-    pmConfigDone();
-    // ppMemCheck();
-    fprintf (stderr, "found %d leaks at %s\n", psMemCheckLeaks (0, NULL, NULL, false), "ppImage");
+    ppImageCleanup(config, options);
     return EXIT_SUCCESS;
 }
