diff --git a/utils/api_demos/mainElasticity.cpp b/utils/api_demos/mainElasticity.cpp
index a4593b71429841068484a725db7f4f97b1c90b05..0f395a61aa87301c24d6ec505d83fa09de5a95ac 100644
--- a/utils/api_demos/mainElasticity.cpp
+++ b/utils/api_demos/mainElasticity.cpp
@@ -2,21 +2,18 @@
 #include "elasticitySolver.h"
 #include "PView.h"
 #include "PViewData.h"
-#include "onelab.h"
-
-
-onelab::remoteNetworkClient *_onelabClient = 0;
 
 void Info (int i, char* c){
   printf("%d %s\n",i,c);
 }
 
-void InitializeOnelab(const char * socket, std::string &modName) {
-  _onelabClient = 
-    new onelab::remoteNetworkClient("ElasticSolver", socket );  
+/*
+void InitializeOnelab(std::string sockName, std::string modelName) {
+  if (!sockName.size()) return;
+  loader = new onelab::remoteNetworkClient("loader", sockName);
   std::vector<std::string> choices;
   std::vector<onelab::string> ps;
-  _onelabClient->get(ps,"Elasticity/9Compute");
+  loader->get(ps,"Elasticity/9Compute"); // ??
   ps.resize(1);
   ps[0].setName("Elasticity/9Compute");
   ps[0].setValue("-solve -pos");  
@@ -24,17 +21,18 @@ void InitializeOnelab(const char * socket, std::string &modName) {
   choices.push_back("-pos");
   choices.push_back("-solve");
   ps[0].setChoices(choices);
-  _onelabClient->set(ps[0]);
+  loader->set(ps[0]);
   ps.resize(1);
   ps[0].setName("Elasticity/1ModelName");
-  ps[0].setValue(modName);  
-  _onelabClient->set(ps[0]);
+  ps[0].setValue(modelName);  
+  loader->set(ps[0]);
 }
+/*
 void AddOnelabNumberChoice(std::string name, double val, std::string help)
 {
   std::vector<double> choices;
   std::vector<onelab::number> ps;
-  _onelabClient->get(ps, name);
+  loader->get(ps, name);
   if(ps.size()){
     choices = ps[0].getChoices();
   }
@@ -47,10 +45,10 @@ void AddOnelabNumberChoice(std::string name, double val, std::string help)
   ps[0].setChoices(choices);
   ps[0].setHelp(help);
   ps[0].setShortHelp(help);
-  _onelabClient->set(ps[0]);
+  loader->set(ps[0]);
 }
 
-void GetSetMaterials (elasticitySolver &e) {
+void AddOnelabMaterials (elasticitySolver &e) {
 
   std::vector<onelab::number> ps;
   for (int i=0;i<e.elasticFields.size();i++){
@@ -72,25 +70,40 @@ void GetSetLoads (elasticitySolver &e) {
 void GetSetFixations (elasticitySolver &e) {
   // todo
 }
+*/
 
-void WhatToDoNow(int argc, char *argv[], int &solve, std::string &modName)
+void WhatToDoNow(int argc, char *argv[], int &solve, std::string &modelName)
 {
   int i =  1;
-  solve = 0;
+  solve = 1;
+  std::string sockName = "";
   while (i < argc) {
     
     if (argv[i][0] == '-') {
-      if (!strcmp(argv[i]+1, "onelab")) {
+      if (!strcmp(argv[i]+1, "solve") || 
+               !strcmp(argv[i]+1, "-solve")) {
+	solve = 1;
 	i++;
-	if (i<argc && argv[i][0]!='-') { 
-	  printf("INITIALIZINK SOCKET %s\n",argv[i]);
-	  InitializeOnelab(argv[i],modName); i++; 
-	}
-	else {
-	  printf("Error : Missing address of onelab server");
-	}
       }
-
+      else if (!strcmp(argv[i]+1, "pos") || 
+               !strcmp(argv[i]+1, "-pos")) {
+	i++;
+      }
+      // else if (!strcmp(argv[i]+1, "onelab")) {
+      // 	i++;
+      // 	if (i<argc && argv[i][0]!='-') { 
+      // 	  printf("INITIALIZING SOCKET %s\n",argv[i]);
+      // 	  sockName=argv[i];
+      // 	  InitializeOnelab(sockName,modelName); i++; 
+      // 	}
+      // 	else {
+      // 	  printf("Error : Missing address of onelab server");
+      // 	}
+      // }
+      else if (!strcmp(argv[i]+1, "a")) {
+	i++;
+	exit(1);
+      }
       else if (!strcmp(argv[i]+1, "help")  || !strcmp(argv[i]+1, "h") ||
 	       !strcmp(argv[i]+1, "-help") || !strcmp(argv[i]+1, "-h")) {
 	i++;
@@ -102,36 +115,22 @@ void WhatToDoNow(int argc, char *argv[], int &solve, std::string &modName)
 	i++;
 	Info(1, argv[0]);
       }
-
       else if (!strcmp(argv[i]+1, "info") || 
                !strcmp(argv[i]+1, "-info")) {
 	i++;
         Info(2, argv[0]);
       }
-      else if (!strcmp(argv[i]+1, "solve") || 
-               !strcmp(argv[i]+1, "-solve")) {
-	solve = 1;
-	i++;
-      }
-      else if (!strcmp(argv[i]+1, "pos") || 
-               !strcmp(argv[i]+1, "-pos")) {
-	i++;
-      }
     }
     else {
-      modName = std::string(argv[i]);
-      //      if (modName)
-      //      modName = modName + std::string(".fuk");
-      std::vector<onelab::string> ps;
+      modelName = std::string(argv[i]);
+      //      if (modelName)
+      //      modelName = modelName + std::string(".fuk");
       i++;
     }
   }
 }
 
-
-
 int main (int argc, char* argv[]){
-  
   char* a[10];
   char name[245];
   a[0] = name; 
@@ -145,13 +144,12 @@ int main (int argc, char* argv[]){
 
   int solve;
   std::string pn;
-  WhatToDoNow (argc,argv, solve,pn);
+  WhatToDoNow (argc,argv, solve, pn);
 
   elasticitySolver mySolver (1000);
   mySolver.setMesh(std::string(pn+".msh").c_str());
-  _onelabClient->sendMergeFileRequest(pn+".msh");
   mySolver.readInputFile(std::string(pn+".dat").c_str());
-  GetSetMaterials (mySolver);
+  
   if (solve){
     mySolver.solve(); 
     PView *pvm = mySolver.buildVonMisesView("vonMises");
@@ -159,17 +157,10 @@ int main (int argc, char* argv[]){
     //    pv->getData()->writeMSH("disp.msh", false, false);
     pv->getData()->writePOS("disp.pos");
     pvm->getData()->writePOS("vonMises.pos");
-    _onelabClient->sendMergeFileRequest("disp.pos");
-    _onelabClient->sendMergeFileRequest("vonMises.pos");
     delete pv;
   }
 
-  //GmshFinalize();
-  if (_onelabClient) delete _onelabClient;
-
   return 0;
-
-
   
   // solve the problem