diff --git a/data-access/servlet/src/main/java/cutout/json/JdlMCutout.java b/data-access/servlet/src/main/java/cutout/json/JdlMCutout.java
index 432910febe1e8f796ed4e8abb9d7470ddc33405c..e3e7d10c986478f2a8efe8be4f19fe98ee5f0703 100644
--- a/data-access/servlet/src/main/java/cutout/json/JdlMCutout.java
+++ b/data-access/servlet/src/main/java/cutout/json/JdlMCutout.java
@@ -1,5 +1,8 @@
 
+import java.util.logging.Logger;
+
 import java.util.Iterator;
+import java.util.ArrayList;
 /* 'JSON-Simple' library */
 import org.json.simple.JSONArray;
 import org.json.simple.JSONObject;
@@ -9,7 +12,7 @@ import org.json.simple.parser.ParseException;
 
 public class JdlMCutout
 {
-
+   static final Logger LOGGER = Logger.getLogger("JdlMCutout");
 
 
    /* used in mcutout to resolve pubdids to pathanme+hdunum */
@@ -33,7 +36,7 @@ public class JdlMCutout
             FitsCard[] extraCards = null;
 
             Resolver rsl = new ResolverFromId();//settings.dbConn, subsurveys);
-            //ResolverByObsCore rsl = new ResolverByObsCore(settings.dbConn, subsurveys);
+                                                //ResolverByObsCore rsl = new ResolverByObsCore(settings.dbConn, subsurveys);
             rsl.resolve(publisherDid);
 
             extraCards = null;// Subsurvey.subsurveysFindCards(subsurveys, rsl.obsCollection());//subsurveyId);
@@ -89,12 +92,13 @@ public class JdlMCutout
          return "";
       }
 
-      JSONObject objParameters = new JSONObject();
-      objParameters.put("cuts", arrCuts);
+      //JSONObject objParameters = new JSONObject();
+      //objParameters.put("cuts", arrCuts);
 
       JSONObject obj = new JSONObject();
       obj.put("service",  "MCUTOUT");
-      obj.put("parameters",  objParameters);
+      //obj.put("parameters",  objParameters);
+      obj.put("cuts", arrCuts);
 
       return obj.toJSONString();
    }
@@ -133,30 +137,42 @@ public class JdlMCutout
 
             JSONArray jsonArray = (JSONArray)jsonObject.get("responses");
 
-            MCutResult.Cut[] cutResArr = new MCutResult.Cut[jsonArray.size()];
+            LOGGER.info("jsonArray.size  [responses]: " + jsonArray.size());
+            //MCutResult.Cut[] cutResArr = new MCutResult.Cut[jsonArray.size()];
+            //LOGGER.info("cutResArr.length[responses]: " + cutResArr.length);
+
+            ArrayList<MCutResult.Cut> cutResList = new ArrayList<MCutResult.Cut>();
 
             int i = 0;
             @SuppressWarnings("unchecked")
             Iterator<JSONObject> itr = jsonArray.iterator();
             while (itr.hasNext())
             {
+               LOGGER.info("i: " + String.valueOf(i));
                JSONObject jObj = itr.next();
 
-               cutResArr[i].inputs  = (Inputs)jObj.get("input");
+               MCutResult mc = new MCutResult();
+               MCutResult.Cut cut = mc.new Cut();
+
+               cut.inputs  = null;//(Inputs)jObj.get("input");
                String ctype = (String)jObj.get("type");
                if(ctype.equals("FILENAME"))
-                  cutResArr[i].contentType = MCutResult.Cut.ContentType.FILENAME;
+                  cut.contentType = MCutResult.Cut.ContentType.FILENAME;
                else if(ctype.equals("BAD_REQUEST"))
-                  cutResArr[i].contentType = MCutResult.Cut.ContentType.BAD_REQUEST;
+                  cut.contentType = MCutResult.Cut.ContentType.BAD_REQUEST;
                else if(ctype.equals("SERVICE_ERROR"))
-                  cutResArr[i].contentType = MCutResult.Cut.ContentType.SERVICE_ERROR;
-               cutResArr[i].content = (String)jObj.get("content");
+                  cut.contentType = MCutResult.Cut.ContentType.SERVICE_ERROR;
+
+               cut.content = (String)jObj.get("content");
+               cut.index = i;// FIXME should come from inputs ?
+               cutResList.add(cut);
                i++;
             }
 
             cuts.fileSize = fileSize;
             cuts.fileName = fileName;
-            cuts.cutResArr = cutResArr;
+            cuts.cutResArr = cutResList.toArray(new MCutResult.Cut[0]);//cutResArr;
+            LOGGER.info("cuts.cutResArr.length[responses]: " + cuts.cutResArr.length);
          }
       }
       catch  (ParseException e)