void o815::mainLoop() {
   *out->log << "OBS: Starting main loop." << endl;
 
-  for (vector<obs*>::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit) {
+  for (vector<obs*>::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit)
     (*obsit)->start();
-  }
 
-  //while( nextParas() ) {
-  //}
+  while( nextParas() ) {
+  }
   
   /*
   for (int i=0; i<100; i++) {
   }
   */
 
-  for (vector<obs*>::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit) {
+  for (vector<obs*>::iterator obsit = observables.begin(); obsit != observables.end(); ++obsit)
     (*obsit)->finish();
-  }
 }
 
 void o815::parseArgs(int argc, char **argv) {
 int o815::nextParas()
 {
   if( paraQ->nextParas() ) {
-    /*
-    setB( (*paraQ)["beta"] );
-    setK( (*paraQ)["kappa"] );
-    setL( (*paraQ)["lambda"] );
-    setM1( (*paraQ)["mu1"] );
-    setM2( (*paraQ)["mu2"] );
-    */
-
+    for (vector<string>::iterator parait = paraQ->allParaIds.begin(); parait != paraQ->allParaIds.end(); ++parait)
+      hypercache::setPara(*parait, (*paraQ)[*parait]);
     return 1;
   }
   else
 
 
 #include "latlib/paraq.h"
 #include "latlib/writeout.h"
+#include "latlib/hypercache.h"
 
 using namespace std;
 
 
   void setDefault(const string& paraid, double value) { defaultPara[paraid] = value; uniqueAllParaIdsAdd(paraid); }
   int getTotalJobs();
   string rangeString();
-  //map<string,double>* getAllParas() {};
+  vector<string> allParaIds;
 
  private:
   int nprocs, rank;
   bool inParas(vector<double>& paraVec, double& tofind);
   double masterdefault;
   bool jobListInitialized;
-  vector<string> allParaIds;
   void uniqueAllParaIdsAdd(const string& paraid);
 };