diff --git a/benchmark/src/main/java/de/tudresden/inf/st/eraser/benchmark/Benchmark.java b/benchmark/src/main/java/de/tudresden/inf/st/eraser/benchmark/Benchmark.java
index 2c1d64d5be93238589167e0c474218d3b22a952f..490c519c3dbb039aaee6e564e569088082b74b37 100644
--- a/benchmark/src/main/java/de/tudresden/inf/st/eraser/benchmark/Benchmark.java
+++ b/benchmark/src/main/java/de/tudresden/inf/st/eraser/benchmark/Benchmark.java
@@ -38,20 +38,14 @@ public class Benchmark {
     private static final Logger logger = LogManager.getLogger(Benchmark.class);
     private static final String ERASER_ITEM_URI = "http://localhost:4567/model/items/";
     //TODO ITEM_NAME HAS TO BE DISCUSSED
-    private static final String[] ACTIVITY_ITEM_NAME = {
-            "m_accel_x", "m_accel_y", "m_accel_z", "m_rotation_x",
-            "m_rotation_y", "m_rotation_z", "w_accel_x", "w_accel_y",
-            "w_accel_z", "w_rotation_x", "w_rotation_y", "w_rotation_z"};
-    private static final String[] PREFERENCE_ITEM_NAME = {
-           "w_brightness"
-    };
+    private static String[] ACTIVITY_ITEM_NAME;
+    private static String[] PREFERENCE_ITEM_NAME;
     private static boolean flag2 = true;
     //csv_type is activity or preference
     Benchmark(String a_csv_file_path, String p_csv_file_path) {
         this.a_csv_file_path = a_csv_file_path;
         this.p_csv_file_path = p_csv_file_path;
     }
-
     void start(){
         String PREFERENCE_URL = "http://localhost:4567/model/items/iris1_item/state";
         String ACTIVITY_URL = "http://localhost:4567/activity/current";
@@ -72,34 +66,47 @@ public class Benchmark {
             p_file_reader=new FileReader(p_file);
             a_csv_reader = new CSVReader(a_file_reader);
             p_csv_reader = new CSVReader(p_file_reader);
+            int i = 0;
             while ((((a_next_record = a_csv_reader.readNext())!= null) && flag2)){
-                try{Thread.sleep(TIME_PERIOD);}catch (InterruptedException e){e.printStackTrace();}
-                String[] values = Arrays.copyOf(a_next_record,12);
-                setNewValue(values, ACTIVITY_ITEM_NAME,"activity");
-                HttpResponse response= Request.Get(ACTIVITY_URL).execute().returnResponse();
-                String status = response.getStatusLine().toString();
-                if(status.contains("200")){
-                    flag1 = true;
-                    logger.info("activity should be (read direct from CSV): " + a_next_record[12]);
-                    logger.info(EntityUtils.toString(response.getEntity()));
-                    logger.info("get activity from web server: response 200 ok");
-                }else{
-                    flag1 = false;
-                    flag2 = false;
-                    logger.info("can not get the activity from the web server");
+                if( i==0 ){
+                    getCSVHeader(Arrays.copyOf(a_next_record,12),"a");
+                    i++;
                 }
-                while((((p_next_record = p_csv_reader.readNext()) != null) && flag1)) {
+                else{
                     try{Thread.sleep(TIME_PERIOD);}catch (InterruptedException e){e.printStackTrace();}
-                    String[] values1 = Arrays.copyOf(p_next_record,2);
-                    setNewValue(values1, PREFERENCE_ITEM_NAME,"preference");
-                    HttpResponse response1= Request.Get(PREFERENCE_URL).execute().returnResponse();
-                    String status1=response1.getStatusLine().toString();
-                    if(status1.contains("200")){
-                        flag2 = true;
-                        logger.info("get the iris1_item preference from web server: response 200 ok, value is: "+EntityUtils.toString(response1.getEntity()));
-                    }else {flag2 = false;
-                    logger.info("can not get the iris1_item from the web server");}
-                    break;
+                    String[] values = Arrays.copyOf(a_next_record,12);
+                    setNewValue(values, ACTIVITY_ITEM_NAME,"activity");
+                    HttpResponse response= Request.Get(ACTIVITY_URL).execute().returnResponse();
+                    String status = response.getStatusLine().toString();
+                    if(status.contains("200")){
+                        flag1 = true;
+                        logger.info("activity should be (read direct from CSV): " + a_next_record[12]);
+                        logger.info(EntityUtils.toString(response.getEntity()));
+                        logger.info("get activity from web server: response 200 ok");
+                    }else{
+                        flag1 = false;
+                        flag2 = false;
+                        logger.info("can not get the activity from the web server");
+                    }
+                    int j = 0;
+                    while((((p_next_record = p_csv_reader.readNext()) != null) && flag1)) {
+                        if( j==0 ){
+                            getCSVHeader(Arrays.copyOf(p_next_record,2),"p");
+                            j++;
+                        }else{
+                            try{Thread.sleep(TIME_PERIOD);}catch (InterruptedException e){e.printStackTrace();}
+                            String[] values1 = Arrays.copyOf(p_next_record,2);
+                            setNewValue(values1, PREFERENCE_ITEM_NAME,"preference");
+                            HttpResponse response1= Request.Get(PREFERENCE_URL).execute().returnResponse();
+                            String status1=response1.getStatusLine().toString();
+                            if(status1.contains("200")){
+                                flag2 = true;
+                                logger.info("get the iris1_item preference from web server: response 200 ok, value is: "+EntityUtils.toString(response1.getEntity()));
+                            }else {flag2 = false;
+                                logger.info("can not get the iris1_item from the web server");}
+                            break;
+                        }
+                    }
                 }
             }
         }
@@ -107,6 +114,7 @@ public class Benchmark {
             e.printStackTrace();
         }
     }
+
     private void setNewValue(String[] values, String[] name, String file_typ){
         if(file_typ.equals("activity"))
         {
@@ -131,6 +139,8 @@ public class Benchmark {
         }else{
             String uri= ERASER_ITEM_URI + "w_brightness" +"/state";
             try {
+                logger.info("debug for w_brigntess");
+                logger.info(values[1]);
                 HttpResponse httpResponse = Request.Put(uri)
                         .bodyString(values[1], ContentType.TEXT_PLAIN)
                         .execute().returnResponse();
@@ -143,4 +153,12 @@ public class Benchmark {
             }
         }
     }
+
+    private void getCSVHeader(String[] a_values,String csv_typ){
+        if (csv_typ.equals("a")){
+            ACTIVITY_ITEM_NAME = a_values;
+        }else{
+            PREFERENCE_ITEM_NAME = a_values;
+        }
+    }
 }
\ No newline at end of file
diff --git a/eraser.starter/src/main/java/de/tudresden/inf/st/eraser/starter/EraserStarter.java b/eraser.starter/src/main/java/de/tudresden/inf/st/eraser/starter/EraserStarter.java
index 4d171f8b53d707cca9c07d12721a6586fbfaaf66..4adfd683365a749a1dbf667fe3e1b413acf06018 100644
--- a/eraser.starter/src/main/java/de/tudresden/inf/st/eraser/starter/EraserStarter.java
+++ b/eraser.starter/src/main/java/de/tudresden/inf/st/eraser/starter/EraserStarter.java
@@ -127,7 +127,7 @@ public class EraserStarter {
       machineLearningModel.setEncoder(handler);
       machineLearningModel.setDecoder(handler);
       root.getMachineLearningRoot().setActivityRecognition(machineLearningModel);
-
+      /**
       //Begin the Integration
       Item item1=model.resolveItem("m_accel_x").get();
       Item item2=model.resolveItem("m_accel_y").get();
@@ -172,7 +172,7 @@ public class EraserStarter {
       List<ItemPreference> preference=handler.classify().getPreferences();
       for(ItemPreference preference1 : preference){
         preference1.apply();
-      }
+      }*/
     }
 
     // initialize preference learning
@@ -189,7 +189,7 @@ public class EraserStarter {
       machineLearningModel.setDecoder(handler);
       root.getMachineLearningRoot().setPreferenceLearning(machineLearningModel);
       //working,medium,240,70
-      Item activity_item = model.resolveItem("activity").get();
+      /**Item activity_item = model.resolveItem("activity").get();
       String activity=activity_item.getStateAsString();
       activity_item.setStateFromString(activity);
       Item brightness_item = model.resolveItem("w_brightness").get();
@@ -201,7 +201,7 @@ public class EraserStarter {
       List<ItemPreference> preference=handler.classify().getPreferences();
       for(ItemPreference preference1 : preference){
         preference1.apply();
-      }
+      }*/
     }
 
     machineLearningRoot.getPreferenceLearning().connectItems(settings.preference.items);
diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Learner.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Learner.java
index 5d8021d8faf7519d9ec15305f0752cfbcd742a0c..d6c86be5a5e6bd64311066fb7225cfc66194558e 100644
--- a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Learner.java
+++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Learner.java
@@ -63,13 +63,14 @@ public class Learner {
         String csv_url_activity;
         csv_url_activity = activity_csv_url;
         this.csv_file = new File(csv_url_activity);
-        a_souce = new CSVDataSource(csv_file,false,CSVFormat.DECIMAL_POINT);
+        a_souce = new CSVDataSource(csv_file,true,CSVFormat.DECIMAL_POINT);
         a_data = new VersatileMLDataSet(a_souce);
         String[] activity_inputs={"m_accel_x","m_accel_y", "m_accel_z",
                 "m_rotation_x","m_rotation_y", "m_rotation_z",
                 "w_accel_x","w_accel_y", "w_accel_z",
                 "w_rotation_x","w_rotation_y","w_rotation_z"
         };
+
         for(int i=0; i < activity_inputs.length; i++){
             a_data.defineSourceColumn(activity_inputs[i], i, ColumnType.continuous);
         }
@@ -87,7 +88,7 @@ public class Learner {
         String csv_url_preference;
         csv_url_preference = preference_csv_url;
         this.csv_file = new File(csv_url_preference);
-        p_source = new CSVDataSource(csv_file,false,CSVFormat.DECIMAL_POINT);
+        p_source = new CSVDataSource(csv_file,true,CSVFormat.DECIMAL_POINT);
         p_data = new VersatileMLDataSet(p_source);
         p_data.defineSourceColumn("activity", 0, ColumnType.nominal);
         p_data.defineSourceColumn("w_brightness", 1, ColumnType.nominal);
@@ -108,7 +109,6 @@ public class Learner {
         activity_train(activity_url);
         preference_train(preference_url);
         Encog.getInstance().shutdown();
-
     }
 
     void activity_train(String activity_csv_url){
@@ -151,7 +151,7 @@ public class Learner {
     String activity_predictor(String[] new_data){
         logger.info("Activity predicting ... ...");
         String activity_result;
-        activityDataAnalyser("../datasets/backup/activity_data.csv");
+        activityDataAnalyser("datasets/backup/activity_data.csv");
         BasicNetwork activity_method = (BasicNetwork) loadObject(save_activity_model_file);
         MLData input = activity_helper.allocateInputVector();
         activity_helper.normalizeInputVector(new_data,input.getData(),false);
@@ -166,7 +166,7 @@ public class Learner {
         logger.info("Activity predicting ... ...");
         String[] preference_result;
         preference_result = new String[2];
-        preferenceDataAnalyser("../datasets/backup/preference_data.csv");
+        preferenceDataAnalyser("datasets/backup/preference_data.csv");
         BasicNetwork preference_method = (BasicNetwork)loadObject(save_preference_model_file);
         MLData input = preference_helper.allocateInputVector();
         preference_helper.normalizeInputVector(new_data, input.getData(),false);
diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningImpl.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningImpl.java
index f2540105d7dd6dbf3f037fa19868ff1c8d2749a8..90c1837d60e5d53325f9a4a30ca59f1096e8e778 100644
--- a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningImpl.java
+++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/MachineLearningImpl.java
@@ -132,6 +132,8 @@ public class MachineLearningImpl implements MachineLearningDecoder, MachineLearn
           new_data[1]=item.getStateAsString();
         }
       }
+      logger.info("debug for p");
+      logger.info(Arrays.toString(preference_result));
       this.preference_result=learner.preference_predictor(new_data);
     }
   }
@@ -182,7 +184,6 @@ public class MachineLearningImpl implements MachineLearningDecoder, MachineLearn
           color = Math.round(Float.valueOf(preference_result[0]));
           brightness = Math.round(Float.valueOf(preference_result[1]));
         }
-
         ItemPreference classifiedPreference = new ItemPreferenceColor(iris1, TupleHSB.of(color, 100, brightness));
         return new MachineLearningResultImpl(classifiedPreference);
       default:
diff --git a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Main.java b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Main.java
index 2580847d5ace8e832bde76159dad2e85974115a2..7aa90f90c0c917d566661b648bf494b6116c6b1a 100644
--- a/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Main.java
+++ b/feedbackloop.learner_backup/src/main/java/de/tudresden/inf/st/eraser/feedbackloop.learner_backup/Main.java
@@ -15,9 +15,9 @@ public class Main {
     //reader.updater();
     Learner learner=new Learner();
     //learner.preference_train("../datasets/backup/preference_data.csv");
-    //learner.train("datasets/backup/activity_data.csv","datasets/backup/preference_data.csv");
+    learner.train("datasets/backup/activity_data.csv","datasets/backup/preference_data.csv");
     //0.5793968,1.2126632,-4.6244006,-0.030779,0.801127,0.590978,-3.1411927,-0.93373865,-0.31124622,-0.35992432,0.33746338,-0.79608154,dancing
-    /**String[] new_data = new String[12];
+    String[] new_data = new String[12];
     new_data[0]="0.5793968";
     new_data[1]="1.2126632";
     new_data[2]="-4.6244006";
@@ -34,9 +34,12 @@ public class Main {
     String result =learner.activity_predictor(new_data);
     System.out.println(result);
 
-    List k=new ArrayList();
+    String[] new_data_1={result,"medium"};
+    learner.preference_predictor(new_data_1);
 
-    k.add(new_data);*/
+    //List k=new ArrayList();
+
+    //k.add(new_data);*/
 
     //learner.preference_train("datasets/backup/preference_data.csv");
     //learner.train("datasets/backup/activity_data.csv","datasets/backup/preference_data.csv");
@@ -45,7 +48,7 @@ public class Main {
 
     //activity_validation_learner();
     //0.10654198,8.6574335,4.414908,0.040269,0.516884,0.853285,1.2066777,-1.1444284,9.648633,1.2207031E-4,-0.055358887,0.5834961 working
-    String[] new_data = new String[12];
+    /**String[] new_data = new String[12];
     new_data[0]="0.010773907";
     new_data[1]="8.610746";
     new_data[2]="4.4963107";