diff --git a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otb/panels/MainPanel.java b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otb/panels/MainPanel.java
index c1d4831e45b9acc5b208e6816492b436d05c038b..a572c2e78ee1659902651b5853caa3a5ca861231 100644
--- a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otb/panels/MainPanel.java
+++ b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otb/panels/MainPanel.java
@@ -160,7 +160,7 @@ public class MainPanel extends javax.swing.JPanel
 
         VICtableModel VICmodel = new VICtableModel(itsMainFrame.getSharedVars().getOTDBrmi());
         VICPanel.setTableModel(VICmodel);
-        VICPanel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        VICPanel.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
         VICPanel.setColumnSize("ID",35);
         VICPanel.setColumnSize("OriginalTree",75);
         VICPanel.setColumnSize("MoMID",50);
@@ -390,6 +390,21 @@ public class MainPanel extends javax.swing.JPanel
         return aRow;
     }
 
+    /** Returns the selected rows in the present tree */
+    private int[] getSelectedRows() {
+        int [] rows=null;
+        if (itsTabFocus.equals("PIC")) {
+            rows = PICPanel.getSelectedRows();
+        } else if (itsTabFocus.equals("VIC")) {
+            rows = VICPanel.getSelectedRows();
+        } else if (itsTabFocus.equals("Templates")) {
+            rows = TemplatesPanel.getSelectedRows();
+        } else if (itsTabFocus.equals("Components")) {
+            rows = ComponentsPanel.getSelectedRows();
+        }
+        return rows;
+    }
+
     /** Sets the selected row in the present tree */
     private void setSelectedID(int aTreeID) {
         if (aTreeID > -1) {
@@ -404,6 +419,32 @@ public class MainPanel extends javax.swing.JPanel
             }
         }
     }
+    
+    /** Returns the ids of the selected Trees in case of a multiple selection */
+    private int [] getSelectedTreeIDs() {
+        int [] rows=this.getSelectedRows();
+        int [] treeIDs=new int[rows.length];
+        if (itsTabFocus.equals("PIC")) {
+            for (int i=0; i < rows.length; i++) {
+                treeIDs[i] = ((Integer)PICPanel.getTableModel().getValueAt(rows[i], 0)).intValue();
+            }
+        } else if (itsTabFocus.equals("VIC")) {
+            for (int i=0; i < rows.length; i++) {
+                treeIDs[i] = ((Integer)VICPanel.getTableModel().getValueAt(rows[i], 0)).intValue();
+            }
+        } else if (itsTabFocus.equals("Templates")) {
+            for (int i=0; i < rows.length; i++) {
+                treeIDs[i] = ((Integer)TemplatesPanel.getTableModel().getValueAt(rows[i], 0)).intValue();
+            }
+        } else if (itsTabFocus.equals("Components")) {
+            for (int i=0; i < rows.length; i++) {
+                // is the node ID in the case of Components
+                treeIDs[i] = ((Integer)ComponentsPanel.getTableModel().getValueAt(rows[i], 0)).intValue();
+            }
+        }
+
+        return treeIDs;   
+    }
 
     /** Returns the id of the selected Tree */
     private int getSelectedTreeID() {
@@ -545,7 +586,9 @@ public class MainPanel extends javax.swing.JPanel
                 }
             } else if (aButton.equals("Info")) {
                 if (itsMainFrame.getSharedVars().getTreeID() > 0) {
-                    if (viewInfo(itsMainFrame.getSharedVars().getTreeID())) {
+                    int [] id=new int[1];
+                    id[0]=itsMainFrame.getSharedVars().getTreeID();
+                    if (viewInfo(id)) {
                         logger.debug("Tree has been changed, reloading tableline");
                           itsMainFrame.setChanged(this.getFriendlyName(),true);
                           checkChanged();
@@ -584,12 +627,17 @@ public class MainPanel extends javax.swing.JPanel
                     itsMainFrame.showPanel(aP.getFriendlyName());
                 }
             } else if (aButton.equals("Info")) {
-                if (itsMainFrame.getSharedVars().getTreeID() > 0) {
-                    if (viewInfo(itsMainFrame.getSharedVars().getTreeID()) ) {
+                
+                // in case of VICtree we have the possibility of changing a multiple selection
+                // so things like start and/or stoptimes can be set for a few entries at once
+                
+                if (this.VICPanel.getSelectedRowCount() > 0) {
+                    if (viewInfo(this.getSelectedTreeIDs()) ) {
                         logger.debug("Tree has been changed, reloading tableline");
                           itsMainFrame.setChanged(this.getFriendlyName(),true);
                           checkChanged();
                     }
+                    
                 }
             }
         } else if (itsTabFocus.equals("Templates")) {
@@ -692,7 +740,9 @@ public class MainPanel extends javax.swing.JPanel
                 
             } else if (aButton.equals("Info")) {
                 if (itsMainFrame.getSharedVars().getTreeID() > 0) {
-                    if (viewInfo(itsMainFrame.getSharedVars().getTreeID()) ) {
+                    int [] id = new int[1];
+                    id[0]=itsMainFrame.getSharedVars().getTreeID();
+                    if (viewInfo(id)) {
                         logger.debug("Tree has been changed, reloading table line");
                           itsMainFrame.setChanged(this.getFriendlyName(),true);
                           checkChanged();
@@ -796,36 +846,32 @@ public class MainPanel extends javax.swing.JPanel
     
     /** Launch TreeInfoDialog,
      *
-     * @param  aTreeID  The ID of the chosen tree.
+     * @param  treeIDs  The IDs of the chosen trees.
      */
-    private boolean viewInfo(int aTreeID) {
-        logger.debug("viewInfo for treeID: " + aTreeID);
+    private boolean viewInfo(int[] treeIDs) {
+        logger.debug("viewInfo for treeID: " + treeIDs);
         //get the selected tree from the database
+        boolean multiple=false;
+
         
-        try {
-            jOTDBtree aSelectedTree=itsMainFrame.getSharedVars().getOTDBrmi().getRemoteOTDB().getTreeInfo(aTreeID, false);
-            
-            if (aSelectedTree != null) {
-                // show treeInfo dialog
-                if (treeInfoDialog == null ) {
-                    treeInfoDialog = new TreeInfoDialog(itsMainFrame,true,aSelectedTree, itsMainFrame);
-                } else {
-                    treeInfoDialog.setTree(aSelectedTree);
-                }
-                treeInfoDialog.setLocationRelativeTo(this);
-                treeInfoDialog.setVisible(true);
+        if (treeIDs.length > 0) {
+            // show treeInfo dialog
+            if (treeInfoDialog == null ) {
+                treeInfoDialog = new TreeInfoDialog(true,treeIDs, itsMainFrame);
+            } else {
+                treeInfoDialog.setTree(treeIDs);
+            }
+            treeInfoDialog.setLocationRelativeTo(this);
+            treeInfoDialog.setVisible(true);
 
-                if (treeInfoDialog.isChanged()) {
-                    logger.debug("tree has been changed and saved");
-                } else {
-                    logger.debug("tree has not been changed");
-                }
-               
+            if (treeInfoDialog.isChanged()) {
+                logger.debug("tree has been changed and saved");
             } else {
-                logger.debug("no tree selected");
+                logger.debug("tree has not been changed");
             }
-        } catch (Exception e) {
-            logger.debug("Error in viewInfo: " + e);
+               
+        } else {
+            logger.debug("no tree selected");
         }
         return treeInfoDialog.isChanged();
     }
diff --git a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otb/panels/ResultBrowserPanel.java b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otb/panels/ResultBrowserPanel.java
index 7935b82aa19ac69f6aabfff9f597eb44c909f410..9098786d4ecdbac0977cee25757e7a5c7f2e3823 100644
--- a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otb/panels/ResultBrowserPanel.java
+++ b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otb/panels/ResultBrowserPanel.java
@@ -276,28 +276,23 @@ public class ResultBrowserPanel extends javax.swing.JPanel
     }
     
     private boolean viewInfo() {
-        //get the selected tree from the database
-        
-        try {
-            jOTDBtree aSelectedTree=itsMainFrame.getSharedVars().getOTDBrmi().getRemoteOTDB().getTreeInfo(itsTreeID, false);
-            
-            if (aSelectedTree != null) {
-                // show treeInfo dialog
-                treeInfoDialog = new TreeInfoDialog(itsMainFrame,true,aSelectedTree, itsMainFrame);
-                treeInfoDialog.setLocationRelativeTo(this);
-                treeInfoDialog.setVisible(true);
-                
-                if (treeInfoDialog.isChanged()) {
-                    logger.debug("tree has been changed and saved");
-                } else {
-                    logger.debug("tree has not been changed");
-                }
-                
+        int [] id=null;
+        id[0]=itsTreeID;
+           
+        if (itsTreeID > -1) {
+            // show treeInfo dialog
+            treeInfoDialog = new TreeInfoDialog(true,id, itsMainFrame);
+            treeInfoDialog.setLocationRelativeTo(this);
+            treeInfoDialog.setVisible(true);
+               
+            if (treeInfoDialog.isChanged()) {
+                logger.debug("tree has been changed and saved");
             } else {
-                logger.debug("no tree selected");
+                logger.debug("tree has not been changed");
             }
-        } catch (Exception e) {
-            logger.debug("Error in viewInfo: " + e);
+                
+        } else {
+            logger.debug("no tree selected");
         }
         return treeInfoDialog.isChanged();
     }
diff --git a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otb/panels/TemplateMaintenancePanel.java b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otb/panels/TemplateMaintenancePanel.java
index 6d614bf85632cec4c4a6957861130bbb9eea05de..6d9f611da212646325b2668c603f64dfa9f03b55 100644
--- a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otb/panels/TemplateMaintenancePanel.java
+++ b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otb/panels/TemplateMaintenancePanel.java
@@ -270,28 +270,22 @@ public class TemplateMaintenancePanel extends javax.swing.JPanel
      * @param  aTreeID  The ID of the chosen tree.
      */
     private boolean viewInfo() {
-        //get the selected tree from the database
-        
-        try {
-            jOTDBtree aSelectedTree=itsMainFrame.getSharedVars().getOTDBrmi().getRemoteOTDB().getTreeInfo(itsTreeID, false);
-            
-            if (aSelectedTree != null) {
-                // show treeInfo dialog
-                treeInfoDialog = new TreeInfoDialog(itsMainFrame,true,aSelectedTree, itsMainFrame);
-                treeInfoDialog.setLocationRelativeTo(this);
-                treeInfoDialog.setVisible(true);
-
-                if (treeInfoDialog.isChanged()) {
-                    logger.debug("tree has been changed and saved");
-                } else {
-                    logger.debug("tree has not been changed");
-                }
-               
+        int [] id=null;
+        id[0]=itsTreeID;
+          
+        if (itsTreeID > -1) {
+            // show treeInfo dialog
+            treeInfoDialog = new TreeInfoDialog(true,id, itsMainFrame);
+            treeInfoDialog.setLocationRelativeTo(this);
+            treeInfoDialog.setVisible(true);
+            if (treeInfoDialog.isChanged()) {
+                logger.debug("tree has been changed and saved");
             } else {
-                logger.debug("no tree selected");
+                logger.debug("tree has not been changed");
             }
-        } catch (Exception e) {
-            logger.debug("Error in viewInfo: " + e);
+               
+        } else {
+            logger.debug("no tree selected");
         }
         return treeInfoDialog.isChanged();
     }
diff --git a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TablePanel.form b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TablePanel.form
index 4851485be1e8359d70393434b9cc54a8897d2561..130a105a5e5b017a8b81c951271c2532aca28e40 100644
--- a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TablePanel.form
+++ b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TablePanel.form
@@ -47,6 +47,7 @@
           </Properties>
           <Events>
             <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTable1MouseClicked"/>
+            <EventHandler event="mouseDragged" listener="java.awt.event.MouseMotionListener" parameters="java.awt.event.MouseEvent" handler="jTable1MouseDragged"/>
           </Events>
         </Component>
       </SubComponents>
diff --git a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TablePanel.java b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TablePanel.java
index 1efcc0ec8e98b17b6abdd36d129113984acc3de5..dcd83cc9c0dd5ade002f9fc9220c5427ad880a80 100644
--- a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TablePanel.java
+++ b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TablePanel.java
@@ -54,6 +54,22 @@ public class TablePanel extends javax.swing.JPanel {
         return jTable1.getSelectedRow();
     }
     
+    /** get the selected Rows
+     *
+     * @return the selected Rows
+     */
+    public int[] getSelectedRows() {
+        return jTable1.getSelectedRows();
+    }
+
+    /** get the nr of selected Rows
+     *
+     * @return the selected Rowcount
+     */
+    public int getSelectedRowCount() {
+        return jTable1.getSelectedRowCount();
+    }
+
     /** set the selected Row
      *
      * @param aRow the seledcted Row
@@ -142,6 +158,11 @@ public class TablePanel extends javax.swing.JPanel {
                 jTable1MouseClicked(evt);
             }
         });
+        jTable1.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
+            public void mouseDragged(java.awt.event.MouseEvent evt) {
+                jTable1MouseDragged(evt);
+            }
+        });
 
         jScrollPane1.setViewportView(jTable1);
 
@@ -149,6 +170,10 @@ public class TablePanel extends javax.swing.JPanel {
 
     }// </editor-fold>//GEN-END:initComponents
 
+    private void jTable1MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseDragged
+        fireMouseListenerMouseClicked(evt);
+    }//GEN-LAST:event_jTable1MouseDragged
+
     private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
         fireMouseListenerMouseClicked(evt);
     }//GEN-LAST:event_jTable1MouseClicked
diff --git a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TreeInfoDialog.form b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TreeInfoDialog.form
index 87967cf7a8ef76f700114dc3e3e56e56ca7e1671..369fbe6097f7a21fedeedae1c53e239bfab25fb4 100644
--- a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TreeInfoDialog.form
+++ b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TreeInfoDialog.form
@@ -96,20 +96,6 @@
         </Constraint>
       </Constraints>
     </Component>
-    <Component class="javax.swing.JLabel" name="topLabel">
-      <Properties>
-        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
-          <Font name="Tahoma" size="11" style="1"/>
-        </Property>
-        <Property name="horizontalAlignment" type="int" value="2"/>
-        <Property name="text" type="java.lang.String" value="Tree Meta Data"/>
-      </Properties>
-      <Constraints>
-        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-          <AbsoluteConstraints x="10" y="20" width="570" height="-1"/>
-        </Constraint>
-      </Constraints>
-    </Component>
     <Component class="javax.swing.JLabel" name="jLabel1">
       <Properties>
         <Property name="text" type="java.lang.String" value="ID:"/>
@@ -316,5 +302,34 @@
         </Constraint>
       </Constraints>
     </Component>
+    <Container class="javax.swing.JScrollPane" name="jScrollPane1">
+      <Properties>
+        <Property name="horizontalScrollBarPolicy" type="int" value="31"/>
+        <Property name="verticalScrollBarPolicy" type="int" value="21"/>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
+      </AuxValues>
+      <Constraints>
+        <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
+          <AbsoluteConstraints x="0" y="0" width="480" height="40"/>
+        </Constraint>
+      </Constraints>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
+      <SubComponents>
+        <Component class="javax.swing.JTextArea" name="topLabel">
+          <Properties>
+            <Property name="columns" type="int" value="20"/>
+            <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+              <Font name="Tahoma" size="11" style="1"/>
+            </Property>
+            <Property name="rows" type="int" value="2"/>
+            <Property name="text" type="java.lang.String" value="Tree Meta Data"/>
+            <Property name="opaque" type="boolean" value="false"/>
+          </Properties>
+        </Component>
+      </SubComponents>
+    </Container>
   </SubComponents>
 </Form>
diff --git a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TreeInfoDialog.java b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TreeInfoDialog.java
index b4835a804666d350db1cfe2f0aad546c2ad7f6ad..18fa5e5c92fdeeb7af17d609aacba65953f801a0 100644
--- a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TreeInfoDialog.java
+++ b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/TreeInfoDialog.java
@@ -20,6 +20,7 @@
  */
 
 package nl.astron.lofar.sas.otbcomponents;
+import java.rmi.RemoteException;
 import java.util.Iterator;
 import java.util.TreeMap;
 import javax.swing.DefaultComboBoxModel;
@@ -48,34 +49,64 @@ public class TreeInfoDialog extends javax.swing.JDialog {
      * @param   aTree       the Tree we wrok with
      * @param   aMainFrame  the Mainframe we are part off
      */
-    public TreeInfoDialog(java.awt.Frame parent, boolean modal, jOTDBtree aTree, MainFrame aMainFrame ) {
-        super(parent, modal);
+    public TreeInfoDialog(boolean modal, int[] treeIDs , MainFrame aMainFrame) {
+        super(aMainFrame, modal);
         initComponents();
         itsMainFrame = aMainFrame;
-        itsTree = aTree;
+        itsTreeIDs = treeIDs;
+        try {
+            // set selected Tree to first in the list
+            itsTree=itsMainFrame.getSharedVars().getOTDBrmi().getRemoteOTDB().getTreeInfo(itsTreeIDs[0], false);
+        } catch (RemoteException e) {
+            logger.debug("Error getting the Treeinfo " + e);
+            itsTree=null;
+        }
+        if (treeIDs.length > 1) {
+            itsMultiple=true;
+        }
         init();        
     }
     
-    public void setTree(jOTDBtree aTree) {
-        itsTree = aTree;
+    public void setTree(int [] treeIDs) {
+        itsTreeIDs = treeIDs;
+        if (treeIDs.length > 1) {
+            itsMultiple=true;
+        }
+        try {
+            // set selected Tree to first in the list
+            itsTree=itsMainFrame.getSharedVars().getOTDBrmi().getRemoteOTDB().getTreeInfo(itsTreeIDs[0], false);
+        } catch (RemoteException e) {
+            logger.debug("Error getting the Treeinfo " + e);
+            itsTree=null;
+        }
         init();                
     }
     
     private void init() {
+        if (itsMultiple) {
+            topLabel.setText("Tree Meta Data  -- MULTIPLE SELECTION -- Only first Tree's info is shown \n" +
+                             "                Changes will be applied to all selections");            
+        } else {
+            topLabel.setText("Tree Meta Data");
+        }
         itsOtdbRmi=itsMainFrame.getSharedVars().getOTDBrmi();
         isAdministrator=itsMainFrame.getUserAccount().isAdministrator();
-        itsTreeType=itsOtdbRmi.getTreeType().get(itsTree.type);
-        // keep the fields that can be changed
-        itsTreeState=itsOtdbRmi.getTreeState().get(itsTree.state);
-        itsClassification = itsOtdbRmi.getClassif().get(itsTree.classification);
-        itsCampaign = itsTree.campaign;
-        itsStarttime = itsTree.starttime;
-        itsStoptime = itsTree.stoptime;
-        itsDescription = itsTree.description;     
-        initComboLists();
-        initView();
-        initFocus();
-        getRootPane().setDefaultButton(saveButton);
+        if (itsTree != null) {
+            itsTreeType=itsOtdbRmi.getTreeType().get(itsTree.type);
+            // keep the fields that can be changed
+            itsTreeState=itsOtdbRmi.getTreeState().get(itsTree.state);
+            itsClassification = itsOtdbRmi.getClassif().get(itsTree.classification);
+            itsCampaign = itsTree.campaign;
+            itsStarttime = itsTree.starttime;
+            itsStoptime = itsTree.stoptime;
+            itsDescription = itsTree.description;     
+            initComboLists();
+            initView();
+            initFocus();
+            getRootPane().setDefaultButton(saveButton);
+        } else {
+            logger.debug("No tree found to work with");
+        }
     }
 
      /**
@@ -109,6 +140,7 @@ public class TreeInfoDialog extends javax.swing.JDialog {
             startTimeInput.setVisible(false);
             stopTimeLabel.setVisible(false);
             stopTimeInput.setVisible(false);
+            descriptionInput.setEnabled(true);                
             // VICtemplate    
         } else if (itsTreeType.equals("VItemplate")) {
             if (itsTree.momID() < 1) {
@@ -119,6 +151,8 @@ public class TreeInfoDialog extends javax.swing.JDialog {
             startTimeInput.setVisible(false);
             stopTimeLabel.setVisible(false);
             stopTimeInput.setVisible(false);
+            descriptionInput.setEnabled(true);                
+            campaignInput.setEnabled(true);        
             
         // VIC
         } else if (itsTreeType.equals("VHtree")) {
@@ -130,6 +164,13 @@ public class TreeInfoDialog extends javax.swing.JDialog {
             startTimeInput.setVisible(true);
             stopTimeLabel.setVisible(true);
             stopTimeInput.setVisible(true);
+            if (itsMultiple) {
+                descriptionInput.setEnabled(false);
+                campaignInput.setEnabled(false);        
+            } else {
+                descriptionInput.setEnabled(true);                
+                campaignInput.setEnabled(true);        
+            }
         }
         if (isAdministrator) {
             classificationInput.setEnabled(true);
@@ -186,46 +227,84 @@ public class TreeInfoDialog extends javax.swing.JDialog {
     
     private void saveNewTree() {
         try {
+            
+            // if multiple selections have been made, then the changes should be set to all the selected trees
+            if (itsMultiple) {
+                for (int i=0; i < itsTreeIDs.length; i++) {
+                    jOTDBtree aTree=itsMainFrame.getSharedVars().getOTDBrmi().getRemoteOTDB().getTreeInfo(itsTreeIDs[i], false); 
+                    String aTreeState=itsOtdbRmi.getTreeState().get(aTree.state);
+                    String aClassification = itsOtdbRmi.getClassif().get(aTree.classification);
+                    
+                    // Check treeState and alter in DB when changed
+                    if (!aTreeState.equals(stateInput.getSelectedItem().toString())) {
+                        hasChanged=true;
+                        aTree.state=itsOtdbRmi.getRemoteTypes().getTreeState(stateInput.getSelectedItem().toString());
+                        if (!itsOtdbRmi.getRemoteMaintenance().setTreeState(aTree.treeID(), aTree.state)) {
+                            logger.debug("Error during setTreeState: "+itsOtdbRmi.getRemoteMaintenance().errorMsg());                      
+                        }
+                    }
 
-            // changable settings for PIC/VIC and templates
-            if ( !itsClassification.equals(classificationInput.getSelectedItem().toString())) {
-                hasChanged=true;
-                itsTree.classification=itsOtdbRmi.getRemoteTypes().getClassif(classificationInput.getSelectedItem().toString());
-                if (!itsOtdbRmi.getRemoteMaintenance().setClassification(itsTree.treeID(), itsTree.classification)) {
-                    logger.debug("Error during setClassification: "+itsOtdbRmi.getRemoteMaintenance().errorMsg());
+                    // Check treeClassification and alter in DB when changed
+                    if ( !aClassification.equals(classificationInput.getSelectedItem().toString())) {
+                        hasChanged=true;
+                        aTree.classification=itsOtdbRmi.getRemoteTypes().getClassif(classificationInput.getSelectedItem().toString());
+                        if (!itsOtdbRmi.getRemoteMaintenance().setClassification(aTree.treeID(), aTree.classification)) {
+                            logger.debug("Error during setClassification: "+itsOtdbRmi.getRemoteMaintenance().errorMsg());
+                        }
+                    }
+                    
+                    // Check start & stoptimes and alter in DB when changed
+                    if (!aTree.starttime.equals(startTimeInput.getText()) || !aTree.stoptime.equals(stopTimeInput.getText())) {
+                        hasChanged=true;
+                        aTree.starttime = startTimeInput.getText();
+                        aTree.stoptime = stopTimeInput.getText();
+                        if (itsOtdbRmi.getRemoteMaintenance().setSchedule(aTree.treeID(),aTree.starttime,aTree.stoptime)) {
+                            logger.debug("Error during setSchedule: "+itsOtdbRmi.getRemoteMaintenance().errorMsg());                        
+                        }
+                    }
                 }
-            }
-            if (!itsTreeState.equals(stateInput.getSelectedItem().toString())) {
-                hasChanged=true;
-                itsTree.state=itsOtdbRmi.getRemoteTypes().getTreeState(stateInput.getSelectedItem().toString());
-                if (!itsOtdbRmi.getRemoteMaintenance().setTreeState(itsTree.treeID(), itsTree.state)) {
-                    logger.debug("Error during setTreeState: "+itsOtdbRmi.getRemoteMaintenance().errorMsg());                      
+            } else {
+
+                // changable settings for PIC/VIC and templates
+                if ( !itsClassification.equals(classificationInput.getSelectedItem().toString())) {
+                    hasChanged=true;
+                    itsTree.classification=itsOtdbRmi.getRemoteTypes().getClassif(classificationInput.getSelectedItem().toString());
+                    if (!itsOtdbRmi.getRemoteMaintenance().setClassification(itsTree.treeID(), itsTree.classification)) {
+                        logger.debug("Error during setClassification: "+itsOtdbRmi.getRemoteMaintenance().errorMsg());
+                    }
                 }
-            }
-            if (!itsDescription.equals(descriptionInput.getText())) {
-                hasChanged=true;
-                itsTree.description = descriptionInput.getText();
-                if (!itsOtdbRmi.getRemoteMaintenance().setDescription(itsTree.treeID(), itsTree.description)) {
-                    logger.debug("Error during setDescription: "+itsOtdbRmi.getRemoteMaintenance().errorMsg());                        
+                if (!itsTreeState.equals(stateInput.getSelectedItem().toString())) {
+                    hasChanged=true;
+                    itsTree.state=itsOtdbRmi.getRemoteTypes().getTreeState(stateInput.getSelectedItem().toString());
+                    if (!itsOtdbRmi.getRemoteMaintenance().setTreeState(itsTree.treeID(), itsTree.state)) {
+                        logger.debug("Error during setTreeState: "+itsOtdbRmi.getRemoteMaintenance().errorMsg());                      
+                    }
                 }
-            }
-            // Next for VIC and Templates only
-            if (itsTreeType.equals("VItemplate") || itsTreeType.equals("VHtree")) {
-                if (!itsCampaign.equals(campaignInput.getText()) && itsTree.momID() > 0) {
+                if (!itsDescription.equals(descriptionInput.getText())) {
                     hasChanged=true;
-                    itsTree.campaign = campaignInput.getText();
-                    if (!itsOtdbRmi.getRemoteMaintenance().setMomInfo(itsTree.treeID(), itsTree.momID(),itsTree.campaign)) {
-                        logger.debug("Error during setCampaign: "+itsOtdbRmi.getRemoteMaintenance().errorMsg());                        
+                    itsTree.description = descriptionInput.getText();
+                    if (!itsOtdbRmi.getRemoteMaintenance().setDescription(itsTree.treeID(), itsTree.description)) {
+                        logger.debug("Error during setDescription: "+itsOtdbRmi.getRemoteMaintenance().errorMsg());                        
                     }
                 }
-                // Next for VIC only
-                if (itsTreeType.equals("VHtree")) {
-                    if (!itsStarttime.equals(startTimeInput.getText()) || !itsStoptime.equals(stopTimeInput.getText())) {
+                // Next for VIC and Templates only
+                if (itsTreeType.equals("VItemplate") || itsTreeType.equals("VHtree")) {
+                    if (!itsCampaign.equals(campaignInput.getText()) && itsTree.momID() > 0) {
                         hasChanged=true;
-                        itsTree.starttime = startTimeInput.getText();
-                        itsTree.stoptime = stopTimeInput.getText();
-                        if (itsOtdbRmi.getRemoteMaintenance().setSchedule(itsTree.treeID(),itsTree.starttime,itsTree.stoptime)) {
-                            logger.debug("Error during setSchedule: "+itsOtdbRmi.getRemoteMaintenance().errorMsg());                        
+                        itsTree.campaign = campaignInput.getText();
+                        if (!itsOtdbRmi.getRemoteMaintenance().setMomInfo(itsTree.treeID(), itsTree.momID(),itsTree.campaign)) {
+                            logger.debug("Error during setCampaign: "+itsOtdbRmi.getRemoteMaintenance().errorMsg());                        
+                        }
+                    }
+                    // Next for VIC only
+                    if (itsTreeType.equals("VHtree")) {
+                        if (!itsStarttime.equals(startTimeInput.getText()) || !itsStoptime.equals(stopTimeInput.getText())) {
+                            hasChanged=true;
+                            itsTree.starttime = startTimeInput.getText();
+                            itsTree.stoptime = stopTimeInput.getText();
+                            if (itsOtdbRmi.getRemoteMaintenance().setSchedule(itsTree.treeID(),itsTree.starttime,itsTree.stoptime)) {
+                                logger.debug("Error during setSchedule: "+itsOtdbRmi.getRemoteMaintenance().errorMsg());                        
+                            }
                         }
                     }
                 }
@@ -248,7 +327,6 @@ public class TreeInfoDialog extends javax.swing.JDialog {
         descriptionInput = new javax.swing.JTextArea();
         cancelButton = new javax.swing.JButton();
         saveButton = new javax.swing.JButton();
-        topLabel = new javax.swing.JLabel();
         jLabel1 = new javax.swing.JLabel();
         treeIDInput = new javax.swing.JTextField();
         jLabel4 = new javax.swing.JLabel();
@@ -269,6 +347,8 @@ public class TreeInfoDialog extends javax.swing.JDialog {
         originalTreeIDInput = new javax.swing.JTextField();
         campaignLabel = new javax.swing.JLabel();
         campaignInput = new javax.swing.JTextField();
+        jScrollPane1 = new javax.swing.JScrollPane();
+        topLabel = new javax.swing.JTextArea();
 
         getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
 
@@ -311,11 +391,6 @@ public class TreeInfoDialog extends javax.swing.JDialog {
 
         getContentPane().add(saveButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 490, -1, -1));
 
-        topLabel.setFont(new java.awt.Font("Tahoma", 1, 11));
-        topLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
-        topLabel.setText("Tree Meta Data");
-        getContentPane().add(topLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 20, 570, -1));
-
         jLabel1.setText("ID:");
         getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 50, -1, 20));
 
@@ -382,6 +457,17 @@ public class TreeInfoDialog extends javax.swing.JDialog {
         campaignInput.setToolTipText("Campaign name");
         getContentPane().add(campaignInput, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 290, 330, -1));
 
+        jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
+        jScrollPane1.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
+        topLabel.setColumns(20);
+        topLabel.setFont(new java.awt.Font("Tahoma", 1, 11));
+        topLabel.setRows(2);
+        topLabel.setText("Tree Meta Data");
+        topLabel.setOpaque(false);
+        jScrollPane1.setViewportView(topLabel);
+
+        getContentPane().add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 480, 40));
+
         pack();
     }// </editor-fold>//GEN-END:initComponents
 
@@ -400,8 +486,10 @@ public class TreeInfoDialog extends javax.swing.JDialog {
     private MainFrame itsMainFrame;
     private OtdbRmi   itsOtdbRmi;
     private jOTDBtree itsTree;
+    private int []    itsTreeIDs=null;
     private boolean   isAdministrator;
     private boolean   hasChanged=false;
+    private boolean   itsMultiple=false;
     private String    itsClassification;
     private String    itsTreeState;
     private String    itsTreeType;
@@ -425,6 +513,7 @@ public class TreeInfoDialog extends javax.swing.JDialog {
     private javax.swing.JLabel jLabel3;
     private javax.swing.JLabel jLabel4;
     private javax.swing.JLabel jLabel6;
+    private javax.swing.JScrollPane jScrollPane1;
     private javax.swing.JTextField momIDInput;
     private javax.swing.JLabel momIDLabel;
     private javax.swing.JTextField originalTreeIDInput;
@@ -435,7 +524,7 @@ public class TreeInfoDialog extends javax.swing.JDialog {
     private javax.swing.JComboBox stateInput;
     private javax.swing.JTextField stopTimeInput;
     private javax.swing.JLabel stopTimeLabel;
-    private javax.swing.JLabel topLabel;
+    private javax.swing.JTextArea topLabel;
     private javax.swing.JTextField treeIDInput;
     private javax.swing.JTextField typeInput;
     // End of variables declaration//GEN-END:variables
diff --git a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/userpanels/ObservationPanel.java b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/userpanels/ObservationPanel.java
index 96c5f1e5deef00362cbf33a12824f63a8bae5212..156edf5616941c0d2e71ac2ca52a5fdfebdb6928 100644
--- a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/userpanels/ObservationPanel.java
+++ b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/userpanels/ObservationPanel.java
@@ -118,39 +118,12 @@ public class ObservationPanel extends javax.swing.JPanel implements IViewPanel{
                 // if the node is a leaf we need to get the pointed to value via Param.
                 if (aNode.leaf) {
                     aParam = itsOtdbRmi.getRemoteMaintenance().getParam(aNode);
-                    setField(aParam,aNode);
-                } else if (LofarUtils.keyName(aNode.name).equals("Beam")) {
-                    //we need to get all the childs from this node also.    
-                    Vector beamChilds = itsOtdbRmi.getRemoteMaintenance().getItemList(aNode.treeID(), aNode.nodeID(), 1);
-            
-                    // get all the params per child
-                    Enumeration e1 = beamChilds.elements();
-                    while( e1.hasMoreElements()  ) {
-                       
-                        jOTDBnode aBeamNode = (jOTDBnode)e1.nextElement();
-                        aParam=null;
-                        // We need to keep all the params needed by this panel
-                        if (aBeamNode.leaf) {
-                            aParam = itsOtdbRmi.getRemoteMaintenance().getParam(aBeamNode);
-                        }
-                        setField(aParam,aBeamNode);
-                    }
+                    setField(itsNode,aParam,aNode);
+                //we need to get all the childs from the following nodes as well.
+                }else if (LofarUtils.keyName(aNode.name).equals("Beam")) {
+                    this.retrieveAndDisplayChildDataForNode(aNode);
                 } else if (LofarUtils.keyName(aNode.name).equals("VirtualInstrument")) {
-                    //we need to get all the childs from this node also.    
-                    Vector VIChilds = itsOtdbRmi.getRemoteMaintenance().getItemList(aNode.treeID(), aNode.nodeID(), 1);
-            
-                    // get all the params per child
-                    Enumeration e2 = VIChilds.elements();
-                    while( e2.hasMoreElements()  ) {
-                       
-                        jOTDBnode aVINode = (jOTDBnode)e2.nextElement();
-                        aParam=null;
-                        // We need to keep all the params needed by this panel
-                        if (aVINode.leaf) {
-                            aParam = itsOtdbRmi.getRemoteMaintenance().getParam(aVINode);
-                        }
-                        setField(aParam,aVINode);
-                    }
+                    this.retrieveAndDisplayChildDataForNode(aNode);
                 }
             }
         } catch (RemoteException ex) {
@@ -261,15 +234,55 @@ public class ObservationPanel extends javax.swing.JPanel implements IViewPanel{
         }       
     }
     
-    /* Set's the different fields in the GUI */
-    private void setField(jOTDBparam aParam, jOTDBnode aNode) {
+     /** 
+     * Helper method that retrieves the child nodes for a given jOTDBnode, 
+     * and triggers setField() accordingly.
+     * @param aNode the node to retrieve and display child data of.
+     */
+    private void retrieveAndDisplayChildDataForNode(jOTDBnode aNode){
+        jOTDBparam aParam=null;
+        try {
+            Vector HWchilds = itsMainFrame.getSharedVars().getOTDBrmi().getRemoteMaintenance().getItemList(aNode.treeID(), aNode.nodeID(), 1);
+            // get all the params per child
+            Enumeration e1 = HWchilds.elements();
+            while( e1.hasMoreElements()  ) {
+                
+                jOTDBnode aHWNode = (jOTDBnode)e1.nextElement();
+                aParam=null;
+                // We need to keep all the params needed by this panel
+                if (aHWNode.leaf) {
+                    aParam = itsMainFrame.getSharedVars().getOTDBrmi().getRemoteMaintenance().getParam(aHWNode);
+                }
+                setField(aNode,aParam,aHWNode);
+            }
+        } catch (RemoteException ex) {
+            logger.debug("Error during retrieveAndDisplayChildDataForNode: "+ ex);
+            return;
+        }
+    }
+    
+    /**
+     * Sets the different fields in the GUI, using the names of the nodes provided
+     * @param parent the parent node of the node to be displayed
+     * @param aParam the parameter of the node to be displayed if applicable
+     * @param aNode  the node to be displayed
+     */
+    private void setField(jOTDBnode parent,jOTDBparam aParam, jOTDBnode aNode) {
+
         // Generic Observation
-        if (aNode==null) {
+        if (aParam==null) {
             return;
         }
-        logger.debug("setField for: "+ aNode.name);
         boolean isRef = LofarUtils.isReference(aNode.limits);
-        String aKeyName = LofarUtils.keyName(aNode.name);   
+        String aKeyName = LofarUtils.keyName(aNode.name);
+        String parentName = String.valueOf(parent.name);
+        /* Set's the different fields in the GUI */
+
+        // Generic OLAP
+        if (aParam==null) {
+            return;
+        }
+        logger.debug("setField for: "+ aNode.name);
         try {
             if (itsOtdbRmi.getRemoteTypes().getParamType(aParam.type).substring(0,1).equals("p")) {
                // Have to get new param because we need the unresolved limits field.
@@ -279,120 +292,122 @@ public class ObservationPanel extends javax.swing.JPanel implements IViewPanel{
             logger.debug("Error during getParam: "+ ex);
         }
         
+        if(parentName.equals("Observation")){        
         // Observation Specific parameters
-        if (aKeyName.equals("MSNameMask")) {
-            inputMSNameMask.setToolTipText(aParam.description);
-            itsMSNameMask=aNode;
-            if (isRef && aParam != null) {
-                inputMSNameMask.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputMSNameMask.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("antennaArray")) {        
-            inputAntennaArray.setToolTipText(aParam.description);
-            LofarUtils.setPopupComboChoices(inputAntennaArray,aParam.limits);
-            if (!aNode.limits.equals("")) {
-                inputAntennaArray.setSelectedItem(aNode.limits);            
-            }
-            itsAntennaArray=aNode;
-        } else if (aKeyName.equals("bandFilter")) {        
-            inputBandFilter.setToolTipText(aParam.description);
-            LofarUtils.setPopupComboChoices(inputBandFilter,aParam.limits);
-            if (!aNode.limits.equals("")) {
-              inputBandFilter.setSelectedItem(aNode.limits);
-            }
-            itsBandFilter=aNode;
-        } else if (aKeyName.equals("clockMode")) {        
-            inputClockMode.setToolTipText(aParam.description);
-            LofarUtils.setPopupComboChoices(inputClockMode,aParam.limits);
-            if (!aNode.limits.equals("")) {
-              inputClockMode.setSelectedItem(aNode.limits);
-            }
-            itsClockMode=aNode;
-        } else if (aKeyName.equals("nyquistZone")) {        
-            inputNyquistZone.setToolTipText(aParam.description);
-            LofarUtils.setPopupComboChoices(inputNyquistZone,aParam.limits);
-            if (!aNode.limits.equals("")) {
-              inputNyquistZone.setSelectedItem(aNode.limits);
-            }
-            itsNyquistZone=aNode;
-        } else if (aKeyName.equals("beamletList")) {        
-            inputBeamletList.setToolTipText(aParam.description);
-            itsBeamletList=aNode;
-            if (isRef && aParam != null) {
-                inputBeamletList.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputBeamletList.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("receiverList")) {        
-            inputReceiverList.setToolTipText(aParam.description);
-            itsReceiverList=aNode;
-            if (isRef && aParam != null) {
-                inputReceiverList.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputReceiverList.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("subbandList")) {        
-            inputSubbandList.setToolTipText(aParam.description);
-            itsSubbandList=aNode;
-            if (isRef && aParam != null) {
-                inputSubbandList.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputSubbandList.setText(aNode.limits);
+            if (aKeyName.equals("MSNameMask")) {
+                inputMSNameMask.setToolTipText(aParam.description);
+               itsMSNameMask=aNode;
+                if (isRef && aParam != null) {
+                    inputMSNameMask.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputMSNameMask.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("antennaArray")) {        
+                inputAntennaArray.setToolTipText(aParam.description);
+                LofarUtils.setPopupComboChoices(inputAntennaArray,aParam.limits);
+                if (!aNode.limits.equals("")) {
+                    inputAntennaArray.setSelectedItem(aNode.limits);            
+                }
+                itsAntennaArray=aNode;
+            } else if (aKeyName.equals("bandFilter")) {        
+                inputBandFilter.setToolTipText(aParam.description);
+                LofarUtils.setPopupComboChoices(inputBandFilter,aParam.limits);
+                if (!aNode.limits.equals("")) {
+                  inputBandFilter.setSelectedItem(aNode.limits);
+                }
+                itsBandFilter=aNode;
+            } else if (aKeyName.equals("clockMode")) {        
+                inputClockMode.setToolTipText(aParam.description);
+                LofarUtils.setPopupComboChoices(inputClockMode,aParam.limits);
+                if (!aNode.limits.equals("")) {
+                    inputClockMode.setSelectedItem(aNode.limits);
+                }
+                itsClockMode=aNode;
+            } else if (aKeyName.equals("nyquistZone")) {        
+                inputNyquistZone.setToolTipText(aParam.description);
+                LofarUtils.setPopupComboChoices(inputNyquistZone,aParam.limits);
+                if (!aNode.limits.equals("")) {
+                  inputNyquistZone.setSelectedItem(aNode.limits);
+                }
+                itsNyquistZone=aNode;
+            } else if (aKeyName.equals("beamletList")) {        
+                inputBeamletList.setToolTipText(aParam.description);
+                itsBeamletList=aNode;
+                if (isRef && aParam != null) {
+                    inputBeamletList.setText(aNode.limits + " : " + aParam.limits);
+               } else {
+                    inputBeamletList.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("receiverList")) {        
+                inputReceiverList.setToolTipText(aParam.description);
+                itsReceiverList=aNode;
+                if (isRef && aParam != null) {
+                    inputReceiverList.setText(aNode.limits + " : " + aParam.limits);
+               } else {
+                    inputReceiverList.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("subbandList")) {        
+                inputSubbandList.setToolTipText(aParam.description);
+                itsSubbandList=aNode;
+                if (isRef && aParam != null) {
+                    inputSubbandList.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputSubbandList.setText(aNode.limits);
+                }
             }
-
+        } else if(parentName.equals("Beam")){        
             // Observation Beam parameters
-
-        
-        } else if (aKeyName.equals("angle1")) {        
-            inputAngle1.setToolTipText(aParam.description);
-            itsAngle1=aNode;
-            if (isRef && aParam != null) {
-                inputAngle1.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputAngle1.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("angle2")) {        
-            inputAngle2.setToolTipText(aParam.description);
-            itsAngle2=aNode;
-            if (isRef && aParam != null) {
-                inputAngle2.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputAngle2.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("angleTimes")) {        
-            inputAngleTimes.setToolTipText(aParam.description);
-            itsAngleTimes=aNode;
-            if (isRef && aParam != null) {
-                inputAngleTimes.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputAngleTimes.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("directionTypes")) {        
-            inputDirectionTypes.setToolTipText(aParam.description);
-            LofarUtils.setPopupComboChoices(inputDirectionTypes,aParam.limits);
-            if (!aNode.limits.equals("")) {
-              inputDirectionTypes.setSelectedItem(aNode.limits);
+            if (aKeyName.equals("angle1")) {        
+                inputAngle1.setToolTipText(aParam.description);
+                itsAngle1=aNode;
+                if (isRef && aParam != null) {
+                    inputAngle1.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputAngle1.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("angle2")) {        
+                inputAngle2.setToolTipText(aParam.description);
+                itsAngle2=aNode;
+                if (isRef && aParam != null) {
+                    inputAngle2.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputAngle2.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("angleTimes")) {        
+                inputAngleTimes.setToolTipText(aParam.description);
+                itsAngleTimes=aNode;
+                if (isRef && aParam != null) {
+                    inputAngleTimes.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputAngleTimes.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("directionTypes")) {        
+                inputDirectionTypes.setToolTipText(aParam.description);
+                LofarUtils.setPopupComboChoices(inputDirectionTypes,aParam.limits);
+                if (!aNode.limits.equals("")) {
+                    inputDirectionTypes.setSelectedItem(aNode.limits);
+                }
+                itsDirectionTypes=aNode;
             }
-            itsDirectionTypes=aNode;
-
+        } else if(parentName.equals("VirtualObservation")){        
             // Observation VirtualObservation parameters
 
-        } else if (aKeyName.equals("stationList")) {        
-            this.stationsList.setToolTipText(aParam.description);
-            this.itsStationList = aNode;
+            if (aKeyName.equals("stationList")) {        
+                this.stationsList.setToolTipText(aParam.description);
+                this.itsStationList = aNode;
                 
-            //set the checkbox correctly when no stations are provided in the data
-            if(itsStationList.limits == null || itsStationList.limits.equals("[]")){
-                stationsList.setModel(new DefaultListModel());
-            }else{
-                TitledBorder aBorder = (TitledBorder)this.stationsPanel.getBorder();
-                if (isRef && aParam != null) {
-                    aBorder.setTitle("Station Names (Referenced)");
-                    LofarUtils.fillList(stationsList,aParam.limits,false);
-                } else {
-                    aBorder.setTitle("Station Names");
-                    LofarUtils.fillList(stationsList,aNode.limits,false);
+                //set the checkbox correctly when no stations are provided in the data
+                if(itsStationList.limits == null || itsStationList.limits.equals("[]")){
+                    stationsList.setModel(new DefaultListModel());
+                }else{
+                    TitledBorder aBorder = (TitledBorder)this.stationsPanel.getBorder();
+                    if (isRef && aParam != null) {
+                        aBorder.setTitle("Station Names (Referenced)");
+                        LofarUtils.fillList(stationsList,aParam.limits,false);
+                    } else {
+                        aBorder.setTitle("Station Names");
+                        LofarUtils.fillList(stationsList,aNode.limits,false);
+                    }
                 }
             }
         }
diff --git a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/userpanels/OlapPanel.form b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/userpanels/OlapPanel.form
index 615cb87ef33470b0807d38fc584dd0050d9f64b6..fa74bc2ca8b0d304c854286fdd79ff12b9f97313 100644
--- a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/userpanels/OlapPanel.form
+++ b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/userpanels/OlapPanel.form
@@ -29,7 +29,7 @@
     <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
     <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
     <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
-    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,2,-99,0,0,3,43"/>
+    <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,2,-22,0,0,3,62"/>
   </AuxValues>
 
   <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
@@ -87,8 +87,8 @@
         <DimensionLayout dim="0">
           <Group type="103" groupAlignment="0" attributes="0">
               <Group type="102" alignment="0" attributes="0">
-                  <Component id="jPanel4" max="32767" attributes="1"/>
-                  <EmptySpace max="-2" attributes="0"/>
+                  <Component id="jPanel4" min="-2" max="-2" attributes="1"/>
+                  <EmptySpace max="32767" attributes="0"/>
               </Group>
           </Group>
         </DimensionLayout>
@@ -109,17 +109,17 @@
               <Group type="103" groupAlignment="0" attributes="0">
                   <Group type="102" attributes="0">
                       <Group type="103" groupAlignment="0" attributes="0">
-                          <Group type="102" attributes="0">
-                              <EmptySpace min="10" pref="10" max="10" attributes="0"/>
-                              <Component id="jPanel8" max="32767" attributes="1"/>
+                          <Group type="102" alignment="0" attributes="0">
+                              <EmptySpace max="-2" attributes="0"/>
+                              <Component id="jPanel8" min="-2" max="-2" attributes="1"/>
                           </Group>
                           <Component id="jPanel3" alignment="0" min="-2" max="-2" attributes="1"/>
                           <Group type="102" alignment="0" attributes="0">
                               <EmptySpace max="-2" attributes="0"/>
-                              <Component id="buttonPanel1" min="-2" pref="774" max="-2" attributes="0"/>
+                              <Component id="buttonPanel1" min="-2" pref="785" max="-2" attributes="0"/>
                           </Group>
                       </Group>
-                      <EmptySpace max="-2" attributes="0"/>
+                      <EmptySpace max="32767" attributes="0"/>
                   </Group>
               </Group>
             </DimensionLayout>
@@ -131,7 +131,7 @@
                       <Component id="jPanel3" min="-2" max="-2" attributes="0"/>
                       <EmptySpace max="-2" attributes="0"/>
                       <Component id="buttonPanel1" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace max="32767" attributes="0"/>
+                      <EmptySpace min="-2" max="-2" attributes="0"/>
                   </Group>
               </Group>
             </DimensionLayout>
@@ -156,55 +156,43 @@
                           <Group type="103" groupAlignment="0" attributes="0">
                               <Group type="103" groupAlignment="1" max="-2" attributes="0">
                                   <Component id="labelDelayCompensation" alignment="0" max="32767" attributes="1"/>
-                                  <Component id="labelStorageIntegrationTime" alignment="0" max="32767" attributes="1"/>
                                   <Component id="labelFirstInputPortNr" alignment="0" min="-2" max="-2" attributes="0"/>
                                   <Component id="labelIPHeaderSize" alignment="0" min="-2" max="-2" attributes="0"/>
-                                  <Component id="labelNrTimesInFrame" alignment="0" min="-2" max="-2" attributes="0"/>
-                                  <Component id="labelNrBitsPerSample" alignment="0" min="-2" max="-2" attributes="1"/>
                               </Group>
                               <Component id="labelStorageStationNames" alignment="0" min="-2" max="-2" attributes="0"/>
+                              <Component id="labelNrTimesInFrame" alignment="0" min="-2" max="-2" attributes="0"/>
+                              <Component id="labelNrBitsPerSample" alignment="0" min="-2" max="-2" attributes="1"/>
                           </Group>
                           <EmptySpace max="-2" attributes="0"/>
                           <Group type="103" groupAlignment="0" max="-2" attributes="0">
                               <Component id="inputStorageStationNames" alignment="0" max="32767" attributes="1"/>
                               <Group type="102" alignment="0" attributes="0">
-                                  <Group type="103" groupAlignment="0" attributes="0">
-                                      <Component id="inputNrBitsPerSample" alignment="0" min="-2" pref="91" max="-2" attributes="1"/>
-                                      <Group type="103" alignment="0" groupAlignment="0" max="-2" attributes="0">
-                                          <Component id="inputNrTimesInFrame" max="32767" attributes="1"/>
-                                          <Component id="inputFirstInputPortNr" max="32767" attributes="1"/>
-                                          <Component id="inputIPHeaderSize" alignment="0" max="32767" attributes="1"/>
-                                          <Component id="inputStorageIntegrationTime" alignment="0" pref="91" max="32767" attributes="1"/>
-                                      </Group>
+                                  <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                                      <Component id="inputNrTimesInFrame" max="32767" attributes="1"/>
+                                      <Component id="inputIPHeaderSize" alignment="0" max="32767" attributes="1"/>
+                                      <Component id="inputFirstInputPortNr" alignment="0" pref="115" max="32767" attributes="1"/>
                                       <Component id="inputDelayCompensation" alignment="0" min="-2" max="-2" attributes="0"/>
+                                      <Component id="inputNrBitsPerSample" alignment="0" max="32767" attributes="1"/>
                                   </Group>
-                                  <EmptySpace min="-2" pref="45" max="-2" attributes="0"/>
+                                  <EmptySpace min="-2" pref="21" max="-2" attributes="0"/>
                                   <Group type="103" groupAlignment="0" attributes="0">
-                                      <Component id="labelNrSecondsOfBuffer" alignment="0" min="-2" max="-2" attributes="0"/>
                                       <Component id="labelSubbandsPerPset" min="-2" max="-2" attributes="0"/>
-                                      <Component id="labelNrSubbandsPerFrame" alignment="0" min="-2" max="-2" attributes="0"/>
-                                      <Component id="labelEPAHeaderSize" alignment="0" min="-2" max="-2" attributes="0"/>
-                                      <Group type="103" alignment="0" groupAlignment="1" max="-2" attributes="0">
-                                          <Component id="labelPsetsPerStorage" alignment="0" max="32767" attributes="1"/>
-                                          <Component id="labelMinIntSteps" alignment="0" max="32767" attributes="1"/>
-                                      </Group>
+                                      <Component id="labelPsetsPerStorage" alignment="0" min="-2" max="-2" attributes="1"/>
+                                      <Component id="labelEPAHeaderSize" min="-2" max="-2" attributes="0"/>
+                                      <Component id="labelNrSubbandsPerFrame" min="-2" max="-2" attributes="0"/>
+                                      <Component id="labelNrSecondsOfBuffer" alignment="0" min="-2" max="-2" attributes="0"/>
                                   </Group>
                                   <EmptySpace min="-2" pref="18" max="-2" attributes="0"/>
-                                  <Group type="103" groupAlignment="0" max="-2" attributes="0">
-                                      <Component id="inputPsetsPerStorage" max="32767" attributes="1"/>
-                                      <Component id="inputSubbandsPerPset" max="32767" attributes="1"/>
-                                      <Component id="inputMinIntSteps" alignment="0" max="32767" attributes="1"/>
-                                      <Component id="inputEPAHeaderSize" alignment="0" max="32767" attributes="1"/>
-                                      <Component id="inputNrSubbandsPerFrame" alignment="0" max="32767" attributes="1"/>
+                                  <Group type="103" groupAlignment="0" attributes="0">
                                       <Component id="inputNrSecondsOfBuffer" alignment="0" pref="91" max="32767" attributes="1"/>
+                                      <Component id="inputNrSubbandsPerFrame" max="32767" attributes="1"/>
+                                      <Component id="inputEPAHeaderSize" max="32767" attributes="1"/>
+                                      <Component id="inputPsetsPerStorage" alignment="0" pref="91" max="32767" attributes="1"/>
+                                      <Component id="inputSubbandsPerPset" alignment="0" pref="91" max="32767" attributes="1"/>
                                   </Group>
-                                  <EmptySpace min="-2" pref="31" max="-2" attributes="0"/>
-                                  <Component id="labelMajIntSteps" min="-2" max="-2" attributes="0"/>
-                                  <EmptySpace max="-2" attributes="0"/>
-                                  <Component id="inputMajIntSteps" min="-2" pref="76" max="-2" attributes="1"/>
                               </Group>
                           </Group>
-                          <EmptySpace pref="47" max="32767" attributes="0"/>
+                          <EmptySpace pref="286" max="32767" attributes="0"/>
                       </Group>
                   </Group>
                 </DimensionLayout>
@@ -219,8 +207,6 @@
                                   </Group>
                                   <EmptySpace max="-2" attributes="0"/>
                                   <Group type="103" groupAlignment="3" attributes="0">
-                                      <Component id="labelStorageIntegrationTime" alignment="3" min="-2" max="-2" attributes="0"/>
-                                      <Component id="inputStorageIntegrationTime" alignment="3" min="-2" max="-2" attributes="0"/>
                                       <Component id="labelPsetsPerStorage" alignment="3" min="-2" max="-2" attributes="0"/>
                                       <Component id="inputPsetsPerStorage" alignment="3" min="-2" max="-2" attributes="0"/>
                                   </Group>
@@ -228,10 +214,8 @@
                                   <Group type="103" groupAlignment="3" attributes="0">
                                       <Component id="labelIPHeaderSize" alignment="3" min="-2" max="-2" attributes="0"/>
                                       <Component id="inputIPHeaderSize" alignment="3" min="-2" max="-2" attributes="0"/>
-                                      <Component id="labelMinIntSteps" alignment="3" min="-2" max="-2" attributes="0"/>
-                                      <Component id="inputMinIntSteps" alignment="3" min="-2" max="-2" attributes="0"/>
-                                      <Component id="labelMajIntSteps" alignment="3" min="-2" max="-2" attributes="0"/>
-                                      <Component id="inputMajIntSteps" alignment="3" min="-2" max="-2" attributes="0"/>
+                                      <Component id="inputEPAHeaderSize" alignment="3" min="-2" max="-2" attributes="0"/>
+                                      <Component id="labelEPAHeaderSize" alignment="3" min="-2" max="-2" attributes="0"/>
                                   </Group>
                               </Group>
                               <Group type="103" alignment="0" groupAlignment="3" attributes="0">
@@ -240,32 +224,23 @@
                               </Group>
                           </Group>
                           <EmptySpace max="-2" attributes="0"/>
-                          <Group type="103" groupAlignment="0" attributes="0">
-                              <Component id="labelNrTimesInFrame" min="-2" max="-2" attributes="0"/>
-                              <Group type="102" attributes="0">
-                                  <EmptySpace max="-2" attributes="0"/>
-                                  <Component id="inputEPAHeaderSize" min="-2" max="-2" attributes="0"/>
-                                  <EmptySpace max="-2" attributes="0"/>
-                                  <Group type="103" groupAlignment="3" attributes="0">
-                                      <Component id="labelNrBitsPerSample" alignment="3" min="-2" max="-2" attributes="0"/>
-                                      <Component id="inputNrBitsPerSample" alignment="3" min="-2" max="-2" attributes="0"/>
-                                      <Component id="labelNrSubbandsPerFrame" alignment="3" min="-2" max="-2" attributes="0"/>
-                                      <Component id="inputNrSubbandsPerFrame" alignment="3" min="-2" max="-2" attributes="0"/>
-                                  </Group>
-                              </Group>
-                              <Group type="103" alignment="0" groupAlignment="3" attributes="0">
-                                  <Component id="inputNrTimesInFrame" alignment="3" min="-2" max="-2" attributes="0"/>
-                                  <Component id="labelEPAHeaderSize" alignment="3" min="-2" max="-2" attributes="0"/>
-                              </Group>
+                          <Group type="103" groupAlignment="3" attributes="0">
+                              <Component id="inputNrTimesInFrame" alignment="3" min="-2" max="-2" attributes="0"/>
+                              <Component id="labelNrSubbandsPerFrame" alignment="3" min="-2" max="-2" attributes="0"/>
+                              <Component id="labelNrTimesInFrame" alignment="3" min="-2" max="-2" attributes="0"/>
+                              <Component id="inputNrSubbandsPerFrame" alignment="3" min="-2" max="-2" attributes="0"/>
                           </Group>
                           <EmptySpace max="-2" attributes="0"/>
+                          <Group type="103" groupAlignment="3" attributes="0">
+                              <Component id="labelNrBitsPerSample" alignment="3" min="-2" max="-2" attributes="0"/>
+                              <Component id="labelNrSecondsOfBuffer" alignment="3" min="-2" max="-2" attributes="0"/>
+                              <Component id="inputNrSecondsOfBuffer" alignment="3" min="-2" max="-2" attributes="0"/>
+                              <Component id="inputNrBitsPerSample" alignment="3" min="-2" max="-2" attributes="0"/>
+                          </Group>
+                          <EmptySpace min="-2" pref="12" max="-2" attributes="0"/>
                           <Group type="103" groupAlignment="1" attributes="0">
                               <Component id="labelDelayCompensation" min="-2" max="-2" attributes="0"/>
                               <Component id="inputDelayCompensation" min="-2" max="-2" attributes="0"/>
-                              <Group type="103" groupAlignment="3" attributes="0">
-                                  <Component id="inputNrSecondsOfBuffer" alignment="3" min="-2" max="-2" attributes="0"/>
-                                  <Component id="labelNrSecondsOfBuffer" alignment="3" min="-2" max="-2" attributes="0"/>
-                              </Group>
                           </Group>
                           <EmptySpace max="-2" attributes="0"/>
                           <Group type="103" groupAlignment="3" attributes="0">
@@ -277,20 +252,6 @@
                 </DimensionLayout>
               </Layout>
               <SubComponents>
-                <Component class="javax.swing.JLabel" name="labelMinIntSteps">
-                  <Properties>
-                    <Property name="text" type="java.lang.String" value="Minor Integration Steps:"/>
-                  </Properties>
-                </Component>
-                <Component class="javax.swing.JTextField" name="inputMinIntSteps">
-                </Component>
-                <Component class="javax.swing.JLabel" name="labelMajIntSteps">
-                  <Properties>
-                    <Property name="text" type="java.lang.String" value="Major Integration Steps:"/>
-                  </Properties>
-                </Component>
-                <Component class="javax.swing.JTextField" name="inputMajIntSteps">
-                </Component>
                 <Component class="javax.swing.JLabel" name="labelEPAHeaderSize">
                   <Properties>
                     <Property name="text" type="java.lang.String" value="EPA Header Size:"/>
@@ -368,13 +329,6 @@
                 </Component>
                 <Component class="javax.swing.JTextField" name="inputSubbandsPerPset">
                 </Component>
-                <Component class="javax.swing.JLabel" name="labelStorageIntegrationTime">
-                  <Properties>
-                    <Property name="text" type="java.lang.String" value="StorageIntegrationTime:"/>
-                  </Properties>
-                </Component>
-                <Component class="javax.swing.JTextField" name="inputStorageIntegrationTime">
-                </Component>
                 <Component class="javax.swing.JLabel" name="labelStorageStationNames">
                   <Properties>
                     <Property name="text" type="java.lang.String" value="storageStationNames:"/>
@@ -399,10 +353,14 @@
                       <Group type="102" attributes="0">
                           <EmptySpace max="-2" attributes="0"/>
                           <Group type="103" groupAlignment="0" attributes="0">
-                              <Group type="102" attributes="0">
+                              <Group type="102" alignment="0" attributes="0">
                                   <Component id="jPanel6" min="-2" max="-2" attributes="1"/>
                                   <EmptySpace max="-2" attributes="0"/>
-                                  <Component id="jPanel7" max="32767" attributes="0"/>
+                                  <Group type="103" groupAlignment="0" attributes="0">
+                                      <Component id="jPanel10" max="32767" attributes="0"/>
+                                      <Component id="jPanel11" max="32767" attributes="1"/>
+                                      <Component id="jPanel7" max="32767" attributes="1"/>
+                                  </Group>
                               </Group>
                               <Component id="jPanel5" alignment="0" max="32767" attributes="1"/>
                           </Group>
@@ -413,10 +371,16 @@
                 <DimensionLayout dim="1">
                   <Group type="103" groupAlignment="0" attributes="0">
                       <Group type="102" attributes="0">
-                          <EmptySpace max="-2" attributes="0"/>
-                          <Group type="103" groupAlignment="0" attributes="0">
-                              <Component id="jPanel7" max="32767" attributes="1"/>
-                              <Component id="jPanel6" alignment="0" pref="263" max="32767" attributes="1"/>
+                          <EmptySpace max="32767" attributes="0"/>
+                          <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                              <Group type="102" attributes="0">
+                                  <Component id="jPanel7" min="-2" max="-2" attributes="1"/>
+                                  <EmptySpace max="-2" attributes="0"/>
+                                  <Component id="jPanel11" min="-2" max="-2" attributes="0"/>
+                                  <EmptySpace max="-2" attributes="0"/>
+                                  <Component id="jPanel10" min="-2" pref="55" max="-2" attributes="0"/>
+                              </Group>
+                              <Component id="jPanel6" pref="330" max="32767" attributes="1"/>
                           </Group>
                           <EmptySpace max="-2" attributes="0"/>
                           <Component id="jPanel5" min="-2" max="-2" attributes="0"/>
@@ -520,7 +484,7 @@
                                   <Component id="labelBGLProcStorageBaseFileName" alignment="3" min="-2" max="-2" attributes="0"/>
                                   <Component id="inputBGLProcStorageBaseFileName" alignment="3" min="-2" max="-2" attributes="0"/>
                               </Group>
-                              <EmptySpace min="-2" pref="31" max="-2" attributes="0"/>
+                              <EmptySpace min="-2" pref="98" max="-2" attributes="0"/>
                           </Group>
                       </Group>
                     </DimensionLayout>
@@ -625,7 +589,7 @@
                   <Properties>
                     <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
                       <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
-                        <TitledBorder title="BGLProc">
+                        <TitledBorder title="BGL Proc">
                           <Color PropertyName="color" blue="0" green="0" red="0" type="rgb"/>
                         </TitledBorder>
                       </Border>
@@ -639,48 +603,59 @@
                           <Group type="102" attributes="0">
                               <EmptySpace max="-2" attributes="0"/>
                               <Group type="103" groupAlignment="0" attributes="0">
-                                  <Group type="103" groupAlignment="0" max="-2" attributes="0">
-                                      <Component id="labelNrPPFTaps" alignment="0" min="-2" max="-2" attributes="0"/>
-                                      <Component id="labelMaxConcurrentComm" alignment="0" pref="131" max="32767" attributes="1"/>
+                                  <Group type="102" attributes="0">
+                                      <Group type="103" groupAlignment="0" attributes="0">
+                                          <Component id="labelMaxConcurrentComm" alignment="0" min="-2" pref="131" max="-2" attributes="1"/>
+                                          <Component id="labelNrPPFTaps" alignment="0" min="-2" max="-2" attributes="0"/>
+                                          <Component id="labelNodesPerPset" alignment="0" min="-2" max="-2" attributes="1"/>
+                                          <Component id="labelPsetsPerCell" pref="140" max="32767" attributes="1"/>
+                                      </Group>
+                                      <EmptySpace max="-2" attributes="0"/>
+                                  </Group>
+                                  <Group type="102" attributes="0">
+                                      <Component id="labelBGLIntegrationSteps" pref="97" max="32767" attributes="1"/>
+                                      <EmptySpace min="-2" pref="47" max="-2" attributes="0"/>
                                   </Group>
-                                  <Component id="labelNodesPerPset" alignment="0" min="-2" max="-2" attributes="1"/>
-                                  <Component id="labelPsetsPerCell" alignment="0" pref="131" max="32767" attributes="1"/>
                               </Group>
-                              <EmptySpace max="-2" attributes="0"/>
-                              <Group type="103" groupAlignment="0" max="-2" attributes="0">
-                                  <Component id="inputNodesPerPset" alignment="0" pref="143" max="32767" attributes="1"/>
-                                  <Component id="inputPsetsPerCell" alignment="0" pref="143" max="32767" attributes="1"/>
-                                  <Component id="inputMaxConcurrentComm" alignment="0" max="32767" attributes="1"/>
-                                  <Component id="inputNrPPFTaps" alignment="0" max="32767" attributes="1"/>
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Component id="inputBGLIntegrationSteps" pref="189" max="32767" attributes="1"/>
+                                  <Component id="inputPsetsPerCell" alignment="1" pref="189" max="32767" attributes="1"/>
+                                  <Component id="inputNrPPFTaps" alignment="0" pref="189" max="32767" attributes="1"/>
+                                  <Component id="inputNodesPerPset" alignment="0" pref="189" max="32767" attributes="1"/>
+                                  <Component id="inputMaxConcurrentComm" alignment="0" pref="189" max="32767" attributes="1"/>
                               </Group>
-                              <EmptySpace min="-2" pref="53" max="-2" attributes="0"/>
+                              <EmptySpace min="-2" max="-2" attributes="0"/>
                           </Group>
                       </Group>
                     </DimensionLayout>
                     <DimensionLayout dim="1">
                       <Group type="103" groupAlignment="0" attributes="0">
-                          <Group type="102" attributes="0">
-                              <EmptySpace max="-2" attributes="0"/>
+                          <Group type="102" alignment="0" attributes="0">
+                              <EmptySpace max="32767" attributes="0"/>
                               <Group type="103" groupAlignment="3" attributes="0">
                                   <Component id="labelMaxConcurrentComm" alignment="3" min="-2" max="-2" attributes="0"/>
                                   <Component id="inputMaxConcurrentComm" alignment="3" min="-2" max="-2" attributes="0"/>
                               </Group>
-                              <EmptySpace min="-2" pref="12" max="-2" attributes="0"/>
+                              <EmptySpace max="-2" attributes="0"/>
                               <Group type="103" groupAlignment="3" attributes="0">
                                   <Component id="labelNrPPFTaps" alignment="3" min="-2" max="-2" attributes="0"/>
                                   <Component id="inputNrPPFTaps" alignment="3" min="-2" max="-2" attributes="0"/>
                               </Group>
-                              <EmptySpace min="-2" pref="21" max="-2" attributes="0"/>
+                              <EmptySpace max="-2" attributes="0"/>
                               <Group type="103" groupAlignment="3" attributes="0">
                                   <Component id="labelNodesPerPset" alignment="3" min="-2" max="-2" attributes="0"/>
                                   <Component id="inputNodesPerPset" alignment="3" min="-2" max="-2" attributes="0"/>
                               </Group>
-                              <EmptySpace min="-2" pref="14" max="-2" attributes="0"/>
+                              <EmptySpace max="-2" attributes="0"/>
                               <Group type="103" groupAlignment="3" attributes="0">
                                   <Component id="labelPsetsPerCell" alignment="3" min="-2" max="-2" attributes="0"/>
                                   <Component id="inputPsetsPerCell" alignment="3" min="-2" max="-2" attributes="0"/>
                               </Group>
-                              <EmptySpace pref="95" max="32767" attributes="0"/>
+                              <EmptySpace max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="3" attributes="0">
+                                  <Component id="labelBGLIntegrationSteps" alignment="3" min="-2" max="-2" attributes="0"/>
+                                  <Component id="inputBGLIntegrationSteps" alignment="3" min="-2" max="-2" attributes="0"/>
+                              </Group>
                           </Group>
                       </Group>
                     </DimensionLayout>
@@ -734,6 +709,13 @@
                         </Property>
                       </Properties>
                     </Component>
+                    <Component class="javax.swing.JLabel" name="labelBGLIntegrationSteps">
+                      <Properties>
+                        <Property name="text" type="java.lang.String" value="Integration Steps:"/>
+                      </Properties>
+                    </Component>
+                    <Component class="javax.swing.JTextField" name="inputBGLIntegrationSteps">
+                    </Component>
                   </SubComponents>
                 </Container>
                 <Container class="javax.swing.JPanel" name="jPanel5">
@@ -772,7 +754,7 @@
                               </Group>
                               <EmptySpace max="-2" attributes="0"/>
                               <Group type="103" groupAlignment="0" attributes="0">
-                                  <Component id="inputPorts" alignment="0" pref="240" max="32767" attributes="1"/>
+                                  <Component id="inputPorts" alignment="0" pref="252" max="32767" attributes="1"/>
                                   <Component id="inputPositionType" alignment="0" min="-2" pref="122" max="-2" attributes="0"/>
                               </Group>
                               <EmptySpace max="-2" attributes="0"/>
@@ -842,6 +824,120 @@
                     </Component>
                   </SubComponents>
                 </Container>
+                <Container class="javax.swing.JPanel" name="jPanel10">
+                  <Properties>
+                    <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                      <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+                        <TitledBorder title="ION Proc">
+                          <Color PropertyName="color" blue="0" green="0" red="0" type="rgb"/>
+                        </TitledBorder>
+                      </Border>
+                    </Property>
+                  </Properties>
+
+                  <Layout>
+                    <DimensionLayout dim="0">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Group type="102" alignment="0" attributes="0">
+                              <EmptySpace max="-2" attributes="0"/>
+                              <Component id="labelIONProcIntegrationSteps" min="-2" max="-2" attributes="0"/>
+                              <EmptySpace pref="44" max="32767" attributes="0"/>
+                              <Component id="inputIONProcIntegrationSteps" min="-2" pref="182" max="-2" attributes="1"/>
+                              <EmptySpace min="-2" pref="29" max="-2" attributes="0"/>
+                          </Group>
+                      </Group>
+                    </DimensionLayout>
+                    <DimensionLayout dim="1">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Group type="102" attributes="0">
+                              <Group type="103" groupAlignment="3" attributes="0">
+                                  <Component id="labelIONProcIntegrationSteps" alignment="3" min="-2" max="-2" attributes="0"/>
+                                  <Component id="inputIONProcIntegrationSteps" alignment="3" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                              <EmptySpace max="32767" attributes="0"/>
+                          </Group>
+                      </Group>
+                    </DimensionLayout>
+                  </Layout>
+                  <SubComponents>
+                    <Component class="javax.swing.JLabel" name="labelIONProcIntegrationSteps">
+                      <Properties>
+                        <Property name="text" type="java.lang.String" value="Integration Steps:"/>
+                      </Properties>
+                    </Component>
+                    <Component class="javax.swing.JTextField" name="inputIONProcIntegrationSteps">
+                    </Component>
+                  </SubComponents>
+                </Container>
+                <Container class="javax.swing.JPanel" name="jPanel11">
+                  <Properties>
+                    <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+                      <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
+                        <TitledBorder title="Storage Proc">
+                          <Color PropertyName="color" blue="0" green="0" red="0" type="rgb"/>
+                        </TitledBorder>
+                      </Border>
+                    </Property>
+                  </Properties>
+
+                  <Layout>
+                    <DimensionLayout dim="0">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Group type="102" alignment="0" attributes="0">
+                              <EmptySpace max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Group type="102" attributes="0">
+                                      <Component id="labelStorageIntegrationTime" max="32767" attributes="1"/>
+                                      <EmptySpace min="-2" pref="56" max="-2" attributes="0"/>
+                                  </Group>
+                                  <Group type="102" alignment="0" attributes="0">
+                                      <Component id="labelSubbandsPerMs" min="-2" pref="104" max="-2" attributes="0"/>
+                                      <EmptySpace min="-2" pref="40" max="-2" attributes="0"/>
+                                  </Group>
+                              </Group>
+                              <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                                  <Component id="inputSubbandsPerMS" max="32767" attributes="1"/>
+                                  <Component id="inputStorageProcIntegrationSteps" alignment="0" pref="189" max="32767" attributes="1"/>
+                              </Group>
+                              <EmptySpace max="-2" attributes="0"/>
+                          </Group>
+                      </Group>
+                    </DimensionLayout>
+                    <DimensionLayout dim="1">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Group type="102" alignment="0" attributes="0">
+                              <EmptySpace max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="3" attributes="0">
+                                  <Component id="labelStorageIntegrationTime" alignment="3" min="-2" max="-2" attributes="0"/>
+                                  <Component id="inputStorageProcIntegrationSteps" alignment="3" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                              <EmptySpace max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="3" attributes="0">
+                                  <Component id="labelSubbandsPerMs" alignment="3" min="-2" max="-2" attributes="0"/>
+                                  <Component id="inputSubbandsPerMS" alignment="3" min="-2" max="-2" attributes="0"/>
+                              </Group>
+                              <EmptySpace max="32767" attributes="0"/>
+                          </Group>
+                      </Group>
+                    </DimensionLayout>
+                  </Layout>
+                  <SubComponents>
+                    <Component class="javax.swing.JLabel" name="labelStorageIntegrationTime">
+                      <Properties>
+                        <Property name="text" type="java.lang.String" value="Integration Steps:"/>
+                      </Properties>
+                    </Component>
+                    <Component class="javax.swing.JTextField" name="inputStorageProcIntegrationSteps">
+                    </Component>
+                    <Component class="javax.swing.JLabel" name="labelSubbandsPerMs">
+                      <Properties>
+                        <Property name="text" type="java.lang.String" value="#subbands per MS:"/>
+                      </Properties>
+                    </Component>
+                    <Component class="javax.swing.JTextField" name="inputSubbandsPerMS">
+                    </Component>
+                  </SubComponents>
+                </Container>
               </SubComponents>
             </Container>
             <Component class="nl.astron.lofar.sas.otbcomponents.ButtonPanel" name="buttonPanel1">
diff --git a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/userpanels/OlapPanel.java b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/userpanels/OlapPanel.java
index 8764173d70e64e356fce3e98d3e32e8af17b5605..8e6e5a66a554f930ee102bd7ee23e4e42a2050ae 100644
--- a/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/userpanels/OlapPanel.java
+++ b/SAS/OTB/OTB/src/nl/astron/lofar/sas/otbcomponents/userpanels/OlapPanel.java
@@ -106,55 +106,20 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
                 // if the node is a leaf we need to get the pointed to value via Param.
                 if (aNode.leaf) {
                     aParam = itsOtdbRmi.getRemoteMaintenance().getParam(aNode);
-                    setField(aParam,aNode);
-                } else if (LofarUtils.keyName(aNode.name).equals("BGLProc")) {
-                    //we need to get all the childs from this node also.    
-                    Vector BGLProcChilds = itsOtdbRmi.getRemoteMaintenance().getItemList(aNode.treeID(), aNode.nodeID(), 1);
-            
-                    // get all the params per child
-                    Enumeration e1 = BGLProcChilds.elements();
-                    while( e1.hasMoreElements()  ) {
-                       
-                        jOTDBnode aBGLProcNode = (jOTDBnode)e1.nextElement();
-                        aParam=null;
-                        // We need to keep all the params needed by this panel
-                        if (aBGLProcNode.leaf) {
-                            aParam = itsOtdbRmi.getRemoteMaintenance().getParam(aBGLProcNode);
-                        }
-                        setField(aParam,aBGLProcNode);
-                    }
+                    setField(itsNode,aParam,aNode);
+                    
+                                    
+                //we need to get all the childs from the following nodes as well.
+                }else if (LofarUtils.keyName(aNode.name).equals("BGLProc")) {
+                    this.retrieveAndDisplayChildDataForNode(aNode);
                 } else if (LofarUtils.keyName(aNode.name).equals("DelayComp")) {
-                    //we need to get all the childs from this node also.    
-                    Vector delayCompChilds = itsOtdbRmi.getRemoteMaintenance().getItemList(aNode.treeID(), aNode.nodeID(), 1);
-            
-                    // get all the params per child
-                    Enumeration e2 = delayCompChilds.elements();
-                    while( e2.hasMoreElements()  ) {
-                       
-                        jOTDBnode aDelayCompNode = (jOTDBnode)e2.nextElement();
-                        aParam=null;
-                        // We need to keep all the params needed by this panel
-                        if (aDelayCompNode.leaf) {
-                            aParam = itsOtdbRmi.getRemoteMaintenance().getParam(aDelayCompNode);
-                        }
-                        setField(aParam,aDelayCompNode);
-                    }
+                    this.retrieveAndDisplayChildDataForNode(aNode);
                 } else if (LofarUtils.keyName(aNode.name).equals("OLAP_Conn")) {
-                    //we need to get all the childs from this node also.    
-                    Vector OlapConnChilds = itsOtdbRmi.getRemoteMaintenance().getItemList(aNode.treeID(), aNode.nodeID(), 1);
-            
-                    // get all the params per child
-                    Enumeration e2 = OlapConnChilds.elements();
-                    while( e2.hasMoreElements()  ) {
-                       
-                        jOTDBnode anOlapConnNode = (jOTDBnode)e2.nextElement();
-                        aParam=null;
-                        // We need to keep all the params needed by this panel
-                        if (anOlapConnNode.leaf) {
-                            aParam = itsOtdbRmi.getRemoteMaintenance().getParam(anOlapConnNode);
-                        }
-                        setField(aParam,anOlapConnNode);
-                    }
+                    this.retrieveAndDisplayChildDataForNode(aNode);
+                } else if (LofarUtils.keyName(aNode.name).equals("IONProc")) {
+                    this.retrieveAndDisplayChildDataForNode(aNode);
+                } else if (LofarUtils.keyName(aNode.name).equals("StorageProc")) {
+                    this.retrieveAndDisplayChildDataForNode(aNode);
                 }
             }
         } catch (RemoteException ex) {
@@ -265,16 +230,53 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
         }       
     } 
     
+    /** 
+     * Helper method that retrieves the child nodes for a given jOTDBnode, 
+     * and triggers setField() accordingly.
+     * @param aNode the node to retrieve and display child data of.
+     */
+    private void retrieveAndDisplayChildDataForNode(jOTDBnode aNode){
+        jOTDBparam aParam=null;
+        try {
+            Vector HWchilds = itsMainFrame.getSharedVars().getOTDBrmi().getRemoteMaintenance().getItemList(aNode.treeID(), aNode.nodeID(), 1);
+            // get all the params per child
+            Enumeration e1 = HWchilds.elements();
+            while( e1.hasMoreElements()  ) {
+                
+                jOTDBnode aHWNode = (jOTDBnode)e1.nextElement();
+                aParam=null;
+                // We need to keep all the params needed by this panel
+                if (aHWNode.leaf) {
+                    aParam = itsMainFrame.getSharedVars().getOTDBrmi().getRemoteMaintenance().getParam(aHWNode);
+                }
+                setField(aNode,aParam,aHWNode);
+            }
+        } catch (RemoteException ex) {
+            logger.debug("Error during retrieveAndDisplayChildDataForNode: "+ ex);
+            return;
+        }
+    }
     
-    /* Set's the different fields in the GUI */
-    private void setField(jOTDBparam aParam, jOTDBnode aNode) {
+    /**
+     * Sets the different fields in the GUI, using the names of the nodes provided
+     * @param parent the parent node of the node to be displayed
+     * @param aParam the parameter of the node to be displayed if applicable
+     * @param aNode  the node to be displayed
+     */
+    private void setField(jOTDBnode parent,jOTDBparam aParam, jOTDBnode aNode) {
+        if (aParam==null) {
+            return;
+        }
+        boolean isRef = LofarUtils.isReference(aNode.limits);
+        String aKeyName = LofarUtils.keyName(aNode.name);
+        String parentName = String.valueOf(parent.name);
+        /* Set's the different fields in the GUI */
+
         // Generic OLAP
-        if (aNode==null) {
+        if (aParam==null) {
             return;
         }
         logger.debug("setField for: "+ aNode.name);
-        boolean isRef = LofarUtils.isReference(aNode.limits);
-        String aKeyName = LofarUtils.keyName(aNode.name);   
         try {
             if (itsOtdbRmi.getRemoteTypes().getParamType(aParam.type).substring(0,1).equals("p")) {
                // Have to get new param because we need the unresolved limits field.
@@ -284,263 +286,283 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
             logger.debug("Error during getParam: "+ ex);
         }
         
-        // Olap Specific parameters
-        if (aKeyName.equals("EPAHeaderSize")) {
-            inputEPAHeaderSize.setToolTipText(aParam.description);
-            itsEPAHeaderSize=aNode;
-            if (isRef && aParam != null) {
-                inputEPAHeaderSize.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputEPAHeaderSize.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("IPHeaderSize")) {
-            inputIPHeaderSize.setToolTipText(aParam.description);
-            itsIPHeaderSize=aNode;
-            if (isRef && aParam != null) {
-                inputIPHeaderSize.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputIPHeaderSize.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("delayCompensation")) {
-            inputDelayCompensation.setToolTipText(aParam.description);
-            itsDelayCompensation=aNode;
-            boolean aSelection = false;
-            if (isRef && aParam != null) {
-                if (aParam.limits.equals("true")||aParam.limits.equals("TRUE")) {
-                    aSelection = true;
+        if(parentName.equals("BGLProc")){
+            // OLAP-BGLProc params
+            if (aKeyName.equals("integrationSteps")) {
+                inputBGLIntegrationSteps.setToolTipText(aParam.description);
+                itsBGLProcIntegrationSteps=aNode;
+                if (isRef && aParam != null) {
+                    inputBGLIntegrationSteps.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputBGLIntegrationSteps.setText(aNode.limits);
                 }
-            } else {
-                if (aNode.limits.equals("true")||aNode.limits.equals("TRUE")) {
-                    aSelection = true;
+            } else if (aKeyName.equals("maxConcurrentComm")) {
+                inputMaxConcurrentComm.setToolTipText(aParam.description);
+                itsMaxConcurrentComm=aNode;
+                if (isRef && aParam != null) {
+                    inputMaxConcurrentComm.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputMaxConcurrentComm.setText(aNode.limits);
                 }
+            } else if (aKeyName.equals("nodesPerPset")) {        
+                inputNodesPerPset.setToolTipText(aParam.description);
+                LofarUtils.setPopupComboChoices(inputNodesPerPset,aParam.limits);
+                if (!aNode.limits.equals("")) {
+                    inputNodesPerPset.setSelectedItem(aNode.limits);
+                }
+                itsNodesPerPset=aNode;
+            } else if (aKeyName.equals("nrPPFTaps")) {
+                inputNrPPFTaps.setToolTipText(aParam.description);
+                itsNrPPFTaps=aNode;
+                if (isRef && aParam != null) {
+                    inputNrPPFTaps.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputNrPPFTaps.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("psetsPerCell")) {        
+                inputPsetsPerCell.setToolTipText(aParam.description);
+                LofarUtils.setPopupComboChoices(inputPsetsPerCell,aParam.limits);
+                if (!aNode.limits.equals("")) {
+                    inputPsetsPerCell.setSelectedItem(aNode.limits);
+                }
+                itsPsetsPerCell=aNode; 
             }
-            inputDelayCompensation.setSelected(aSelection);
-        } else if (aKeyName.equals("firstInputPortNr")) {
-            inputFirstInputPortNr.setToolTipText(aParam.description);
-            itsFirstInputPortNr=aNode;
-            if (isRef && aParam != null) {
-                inputFirstInputPortNr.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputFirstInputPortNr.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("majorIntegrationSteps")) {
-            inputMajIntSteps.setToolTipText(aParam.description);
-            itsMajorIntegrationSteps=aNode;
-            if (isRef && aParam != null) {
-                inputMajIntSteps.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputMajIntSteps.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("minorIntegrationSteps")) {
-            inputMinIntSteps.setToolTipText(aParam.description);
-            itsMinorIntegrationSteps=aNode;
-            if (isRef && aParam != null) {
-                inputMinIntSteps.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputMinIntSteps.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("nrBitsPerSample")) {
-            inputNrBitsPerSample.setToolTipText(aParam.description);
-            itsNrBitsPerSample=aNode;
-            if (isRef && aParam != null) {
-                inputNrBitsPerSample.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputNrBitsPerSample.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("nrSecondsOfBuffer")) {
-            inputNrSecondsOfBuffer.setToolTipText(aParam.description);
-            itsNrSecondsOfBuffer=aNode;
-            if (isRef && aParam != null) {
-                inputNrSecondsOfBuffer.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputNrSecondsOfBuffer.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("nrSubbandsPerFrame")) {
-            inputNrSubbandsPerFrame.setToolTipText(aParam.description);
-            itsNrSubbandsPerFrame=aNode;
-            if (isRef && aParam != null) {
-                inputNrSubbandsPerFrame.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputNrSubbandsPerFrame.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("nrTimesInFrame")) {
-            inputNrTimesInFrame.setToolTipText(aParam.description);
-            itsNrTimesInFrame=aNode;
-            if (isRef && aParam != null) {
-                inputNrTimesInFrame.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputNrTimesInFrame.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("storageIntegrationTime")) {
-            inputStorageIntegrationTime.setToolTipText(aParam.description);
-            itsStorageIntegrationTime=aNode;
-            if (isRef && aParam != null) {
-                inputStorageIntegrationTime.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputStorageIntegrationTime.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("storageStationNames")) {
-            inputStorageStationNames.setToolTipText(aParam.description);
-            itsStorageStationNames=aNode;
-            if (isRef && aParam != null) {
-                inputStorageStationNames.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputStorageStationNames.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("subbandsPerPset")) {
-            inputSubbandsPerPset.setToolTipText(aParam.description);
-            itsSubbandsPerPset=aNode;
-            if (isRef && aParam != null) {
-                inputSubbandsPerPset.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputSubbandsPerPset.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("psetsPerStorage")) {
-            inputPsetsPerStorage.setToolTipText(aParam.description);
-            itsPsetsPerStorage=aNode;
-            if (isRef && aParam != null) {
-                inputPsetsPerStorage.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputPsetsPerStorage.setText(aNode.limits);
-            }
-
-            // OLAP-BGLProc params
-        } else if (aKeyName.equals("maxConcurrentComm")) {
-            inputMaxConcurrentComm.setToolTipText(aParam.description);
-            itsMaxConcurrentComm=aNode;
-            if (isRef && aParam != null) {
-                inputMaxConcurrentComm.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputMaxConcurrentComm.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("nodesPerPset")) {        
-            inputNodesPerPset.setToolTipText(aParam.description);
-            LofarUtils.setPopupComboChoices(inputNodesPerPset,aParam.limits);
-            if (!aNode.limits.equals("")) {
-              inputNodesPerPset.setSelectedItem(aNode.limits);
-            }
-            itsNodesPerPset=aNode;
-        } else if (aKeyName.equals("nrPPFTaps")) {
-            inputNrPPFTaps.setToolTipText(aParam.description);
-            itsNrPPFTaps=aNode;
-            if (isRef && aParam != null) {
-                inputNrPPFTaps.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputNrPPFTaps.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("psetsPerCell")) {        
-            inputPsetsPerCell.setToolTipText(aParam.description);
-            LofarUtils.setPopupComboChoices(inputPsetsPerCell,aParam.limits);
-            if (!aNode.limits.equals("")) {
-              inputPsetsPerCell.setSelectedItem(aNode.limits);
-            }
-            itsPsetsPerCell=aNode;  
-            
+        } else if(parentName.equals("DelayComp")){       
             // OLAP DelayComp params
 
-        } else if (aKeyName.equals("converterType")) {        
-            inputConverterType.setToolTipText(aParam.description);
-            LofarUtils.setPopupComboChoices(inputConverterType,aParam.limits);
-            if (!aNode.limits.equals("")) {
-              inputConverterType.setSelectedItem(aNode.limits);
-            }
-            itsConverterType=aNode;  
-        } else if (aKeyName.equals("hostName")) {
-            inputHostName.setToolTipText(aParam.description);
-            itsHostName=aNode;
-            if (isRef && aParam != null) {
-                inputHostName.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputHostName.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("ports")) {
-            inputPorts.setToolTipText(aParam.description);
-            itsPorts=aNode;
-            if (isRef && aParam != null) {
-                inputPorts.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputPorts.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("positionType")) {
-            inputPositionType.setToolTipText(aParam.description);
-            itsPositionType=aNode;
-            if (isRef && aParam != null) {
-                inputPositionType.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputPositionType.setText(aNode.limits);
+            if (aKeyName.equals("converterType")) {        
+                inputConverterType.setToolTipText(aParam.description);
+                LofarUtils.setPopupComboChoices(inputConverterType,aParam.limits);
+                if (!aNode.limits.equals("")) {
+                  inputConverterType.setSelectedItem(aNode.limits);
+                }
+                itsConverterType=aNode;  
+            } else if (aKeyName.equals("hostName")) {
+                inputHostName.setToolTipText(aParam.description);
+                itsHostName=aNode;
+                if (isRef && aParam != null) {
+                    inputHostName.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputHostName.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("ports")) {
+                inputPorts.setToolTipText(aParam.description);
+                itsPorts=aNode;
+                if (isRef && aParam != null) {
+                    inputPorts.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputPorts.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("positionType")) {
+                inputPositionType.setToolTipText(aParam.description);
+                itsPositionType=aNode;
+                if (isRef && aParam != null) {
+                    inputPositionType.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputPositionType.setText(aNode.limits);
+                }
             }
-            
+        } else if(parentName.equals("OLAP_Conn")){
             // OLAP OLAP_Conn params
-        } else if (aKeyName.equals("AMCServerHost")) {
-            inputAMCServerHost.setToolTipText(aParam.description);
-            itsAMCServerHost=aNode;
-            if (isRef && aParam != null) {
-                inputAMCServerHost.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputAMCServerHost.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("AMCServerPort")) {
-            inputAMCServerPort.setToolTipText(aParam.description);
-            itsAMCServerPort=aNode;
-            if (isRef && aParam != null) {
-                inputAMCServerPort.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputAMCServerPort.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("BGLProc_Storage_BaseFileName")) {
-            inputBGLProcStorageBaseFileName.setToolTipText(aParam.description);
-            itsBGLProcStorageBaseFileName=aNode;
-            if (isRef && aParam != null) {
-                inputBGLProcStorageBaseFileName.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputBGLProcStorageBaseFileName.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("BGLProc_Storage_Ports")) {
-            inputBGLProcStoragePorts.setToolTipText(aParam.description);
-            itsBGLProcStoragePorts=aNode;
-            if (isRef && aParam != null) {
-                inputBGLProcStoragePorts.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputBGLProcStoragePorts.setText(aNode.limits);
-            }
-        } else if (aKeyName.equals("BGLProc_Storage_Transport")) {        
-            inputBGLProcStorageTransport.setToolTipText(aParam.description);
-            LofarUtils.setPopupComboChoices(inputBGLProcStorageTransport,aParam.limits);
-            if (!aNode.limits.equals("")) {
-              inputBGLProcStorageTransport.setSelectedItem(aNode.limits);
-            }
-            itsBGLProcStorageTransport=aNode;
-        } else if (aKeyName.equals("input_BGLProc_BaseFileName")) {
-            inputInputBGLProcBaseFileName.setToolTipText(aParam.description);
-            itsInputBGLProcBaseFileName=aNode;
-            if (isRef && aParam != null) {
-                inputInputBGLProcBaseFileName.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputInputBGLProcBaseFileName.setText(aNode.limits);
+            if (aKeyName.equals("AMCServerHost")) {
+                inputAMCServerHost.setToolTipText(aParam.description);
+               itsAMCServerHost=aNode;
+                if (isRef && aParam != null) {
+                    inputAMCServerHost.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputAMCServerHost.setText(aNode.limits);
+                }
+           } else if (aKeyName.equals("AMCServerPort")) {
+                inputAMCServerPort.setToolTipText(aParam.description);
+                itsAMCServerPort=aNode;
+                if (isRef && aParam != null) {
+                    inputAMCServerPort.setText(aNode.limits + " : " + aParam.limits);
+               } else {
+                    inputAMCServerPort.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("BGLProc_Storage_BaseFileName")) {
+                inputBGLProcStorageBaseFileName.setToolTipText(aParam.description);
+                itsBGLProcStorageBaseFileName=aNode;
+                if (isRef && aParam != null) {
+                    inputBGLProcStorageBaseFileName.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputBGLProcStorageBaseFileName.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("BGLProc_Storage_Ports")) {
+                inputBGLProcStoragePorts.setToolTipText(aParam.description);
+                itsBGLProcStoragePorts=aNode;
+                if (isRef && aParam != null) {
+                    inputBGLProcStoragePorts.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputBGLProcStoragePorts.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("BGLProc_Storage_Transport")) {        
+                inputBGLProcStorageTransport.setToolTipText(aParam.description);
+                LofarUtils.setPopupComboChoices(inputBGLProcStorageTransport,aParam.limits);
+                if (!aNode.limits.equals("")) {
+                    inputBGLProcStorageTransport.setSelectedItem(aNode.limits);
+                }
+                itsBGLProcStorageTransport=aNode;
+            } else if (aKeyName.equals("input_BGLProc_BaseFileName")) {
+                inputInputBGLProcBaseFileName.setToolTipText(aParam.description);
+                itsInputBGLProcBaseFileName=aNode;
+              if (isRef && aParam != null) {
+                    inputInputBGLProcBaseFileName.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputInputBGLProcBaseFileName.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("input_BGLProc_Ports")) {
+                inputInputBGLProcPorts.setToolTipText(aParam.description);
+                itsInputBGLProcPorts=aNode;
+                if (isRef && aParam != null) {
+                    inputInputBGLProcPorts.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputInputBGLProcPorts.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("input_BGLProc_Transport")) {        
+                inputInputBGLProcTransport.setToolTipText(aParam.description);
+                LofarUtils.setPopupComboChoices(inputInputBGLProcTransport,aParam.limits);
+                if (!aNode.limits.equals("")) {
+                    inputInputBGLProcTransport.setSelectedItem(aNode.limits);
+                }
+                itsInputBGLProcTransport=aNode;
+           } else if (aKeyName.equals("station_Input_Transport")) {        
+                inputStationInputTransport.setToolTipText(aParam.description);
+                LofarUtils.setPopupComboChoices(inputStationInputTransport,aParam.limits);
+                if (!aNode.limits.equals("")) {
+                    inputStationInputTransport.setSelectedItem(aNode.limits);
+                }
+                itsStationInputTransport=aNode;
             }
-        } else if (aKeyName.equals("input_BGLProc_Ports")) {
-            inputInputBGLProcPorts.setToolTipText(aParam.description);
-            itsInputBGLProcPorts=aNode;
-            if (isRef && aParam != null) {
-                inputInputBGLProcPorts.setText(aNode.limits + " : " + aParam.limits);
-            } else {
-                inputInputBGLProcPorts.setText(aNode.limits);
+        } else if(parentName.equals("IONProc")){       
+            // OLAP IONProc params
+            if (aKeyName.equals("integrationSteps")) {
+                inputIONProcIntegrationSteps.setToolTipText(aParam.description);
+                itsIONProcIntegrationSteps=aNode;
+                if (isRef && aParam != null) {
+                    inputIONProcIntegrationSteps.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputIONProcIntegrationSteps.setText(aNode.limits);
+                }
             }
-        } else if (aKeyName.equals("input_BGLProc_Transport")) {        
-            inputInputBGLProcTransport.setToolTipText(aParam.description);
-            LofarUtils.setPopupComboChoices(inputInputBGLProcTransport,aParam.limits);
-            if (!aNode.limits.equals("")) {
-              inputInputBGLProcTransport.setSelectedItem(aNode.limits);
+        } else if(parentName.equals("StorageProc")){       
+            // OLAP StorageProc params
+            if (aKeyName.equals("integrationSteps")) {
+                inputStorageProcIntegrationSteps.setToolTipText(aParam.description);
+                itsStorageProcIntegrationSteps=aNode;
+                if (isRef && aParam != null) {
+                    inputStorageProcIntegrationSteps.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputStorageProcIntegrationSteps.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("subbandsPerMS")) {
+                inputSubbandsPerMS.setToolTipText(aParam.description);
+                itsSubbandsPerMS=aNode;
+                if (isRef && aParam != null) {
+                    inputSubbandsPerMS.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputSubbandsPerMS.setText(aNode.limits);
+                }
             }
-            itsInputBGLProcTransport=aNode;
-        } else if (aKeyName.equals("station_Input_Transport")) {        
-            inputStationInputTransport.setToolTipText(aParam.description);
-            LofarUtils.setPopupComboChoices(inputStationInputTransport,aParam.limits);
-            if (!aNode.limits.equals("")) {
-              inputStationInputTransport.setSelectedItem(aNode.limits);
+        } else if(parentName.equals("OLAP")){
+            // Olap Specific parameters
+            if (aKeyName.equals("EPAHeaderSize")) {
+                inputEPAHeaderSize.setToolTipText(aParam.description);
+                itsEPAHeaderSize=aNode;
+                if (isRef && aParam != null) {
+                    inputEPAHeaderSize.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputEPAHeaderSize.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("IPHeaderSize")) {
+                inputIPHeaderSize.setToolTipText(aParam.description);
+                itsIPHeaderSize=aNode;
+                if (isRef && aParam != null) {
+                    inputIPHeaderSize.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputIPHeaderSize.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("delayCompensation")) {
+                inputDelayCompensation.setToolTipText(aParam.description);
+                itsDelayCompensation=aNode;
+                boolean aSelection = false;
+                if (isRef && aParam != null) {
+                    if (aParam.limits.equals("true")||aParam.limits.equals("TRUE")) {
+                        aSelection = true;
+                    }
+                } else {
+                    if (aNode.limits.equals("true")||aNode.limits.equals("TRUE")) {
+                        aSelection = true;
+                    }
+                }
+                inputDelayCompensation.setSelected(aSelection);
+            } else if (aKeyName.equals("firstInputPortNr")) {
+                inputFirstInputPortNr.setToolTipText(aParam.description);
+                itsFirstInputPortNr=aNode;
+                if (isRef && aParam != null) {
+                    inputFirstInputPortNr.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputFirstInputPortNr.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("nrBitsPerSample")) {
+                inputNrBitsPerSample.setToolTipText(aParam.description);
+                itsNrBitsPerSample=aNode;
+                if (isRef && aParam != null) {
+                    inputNrBitsPerSample.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputNrBitsPerSample.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("nrSecondsOfBuffer")) {
+                inputNrSecondsOfBuffer.setToolTipText(aParam.description);
+                itsNrSecondsOfBuffer=aNode;
+                if (isRef && aParam != null) {
+                    inputNrSecondsOfBuffer.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputNrSecondsOfBuffer.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("nrSubbandsPerFrame")) {
+                inputNrSubbandsPerFrame.setToolTipText(aParam.description);
+                itsNrSubbandsPerFrame=aNode;
+                if (isRef && aParam != null) {
+                    inputNrSubbandsPerFrame.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputNrSubbandsPerFrame.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("nrTimesInFrame")) {
+                inputNrTimesInFrame.setToolTipText(aParam.description);
+                itsNrTimesInFrame=aNode;
+                if (isRef && aParam != null) {
+                    inputNrTimesInFrame.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputNrTimesInFrame.setText(aNode.limits);
+                }
+
+            } else if (aKeyName.equals("storageStationNames")) {
+                inputStorageStationNames.setToolTipText(aParam.description);
+                itsStorageStationNames=aNode;
+                if (isRef && aParam != null) {
+                    inputStorageStationNames.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputStorageStationNames.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("subbandsPerPset")) {
+                inputSubbandsPerPset.setToolTipText(aParam.description);
+                itsSubbandsPerPset=aNode;
+                if (isRef && aParam != null) {
+                    inputSubbandsPerPset.setText(aNode.limits + " : " + aParam.limits);
+               } else {
+                    inputSubbandsPerPset.setText(aNode.limits);
+                }
+            } else if (aKeyName.equals("psetsPerStorage")) {
+                inputPsetsPerStorage.setToolTipText(aParam.description);
+                itsPsetsPerStorage=aNode;
+                if (isRef && aParam != null) {  
+                    inputPsetsPerStorage.setText(aNode.limits + " : " + aParam.limits);
+                } else {
+                    inputPsetsPerStorage.setText(aNode.limits);
+                }
             }
-            itsStationInputTransport=aNode;
-        }
+        }   
     }
     
     private void restore() {
@@ -553,18 +575,16 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
       }
       inputDelayCompensation.setSelected(delay);
       inputFirstInputPortNr.setText(itsFirstInputPortNr.limits);
-      inputMajIntSteps.setText(itsMajorIntegrationSteps.limits);
-      inputMinIntSteps.setText(itsMinorIntegrationSteps.limits);
       inputNrBitsPerSample.setText(itsNrBitsPerSample.limits);
       inputNrSecondsOfBuffer.setText(itsNrSecondsOfBuffer.limits);
       inputNrSubbandsPerFrame.setText(itsNrSubbandsPerFrame.limits);
       inputNrTimesInFrame.setText(itsNrTimesInFrame.limits);
-      inputStorageIntegrationTime.setText(itsStorageIntegrationTime.limits);
       inputStorageStationNames.setText(itsStorageStationNames.limits);
       inputSubbandsPerPset.setText(itsSubbandsPerPset.limits);
       inputSubbandsPerPset.setText(itsPsetsPerStorage.limits);
       
       //OLAP-BGLProc      
+      inputBGLIntegrationSteps.setText(itsBGLProcIntegrationSteps.limits);
       inputMaxConcurrentComm.setText(itsMaxConcurrentComm.limits);
       inputNodesPerPset.setSelectedItem(itsNodesPerPset.limits);
       inputNrPPFTaps.setText(itsNrPPFTaps.limits);
@@ -576,6 +596,13 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
       inputPorts.setText(itsPorts.limits);
       inputPositionType.setText(itsPositionType.limits);
       
+      //OLAP IONProc
+      inputIONProcIntegrationSteps.setText(itsIONProcIntegrationSteps.limits);
+      
+      //OLAP StorageProc
+      inputStorageProcIntegrationSteps.setText(itsStorageProcIntegrationSteps.limits);
+      inputSubbandsPerMS.setText(itsSubbandsPerMS.limits);
+      
       //OLAP-OLAP_Conn
       inputAMCServerHost.setText(itsAMCServerHost.limits);
       inputAMCServerPort.setText(itsAMCServerPort.limits);
@@ -688,14 +715,6 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
             itsFirstInputPortNr.limits = inputFirstInputPortNr.getText();
             saveNode(itsFirstInputPortNr);
         }
-        if (itsMajorIntegrationSteps != null && !inputMajIntSteps.equals(itsMajorIntegrationSteps.limits)) {  
-            itsMajorIntegrationSteps.limits = inputMajIntSteps.getText();
-            saveNode(itsMajorIntegrationSteps);
-        }
-        if (itsMinorIntegrationSteps != null && !inputMinIntSteps.equals(itsMinorIntegrationSteps.limits)) {  
-            itsMinorIntegrationSteps.limits = inputMinIntSteps.getText();
-            saveNode(itsMinorIntegrationSteps);
-        }
         if (itsIPHeaderSize != null && !inputIPHeaderSize.equals(itsIPHeaderSize.limits)) {  
             itsIPHeaderSize.limits = inputIPHeaderSize.getText();
             saveNode(itsIPHeaderSize);
@@ -716,10 +735,6 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
             itsNrTimesInFrame.limits = inputNrTimesInFrame.getText();
             saveNode(itsNrTimesInFrame);
         }
-        if (itsStorageIntegrationTime != null && !inputStorageIntegrationTime.equals(itsStorageIntegrationTime.limits)) {  
-            itsStorageIntegrationTime.limits = inputStorageIntegrationTime.getText();
-            saveNode(itsStorageIntegrationTime);
-        }
         if (itsStorageStationNames != null && !inputStorageStationNames.equals(itsStorageStationNames.limits)) {  
             itsStorageStationNames.limits = inputStorageStationNames.getText();
             saveNode(itsStorageStationNames);
@@ -734,6 +749,10 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
         }
         
         // OLAP-BGLProc
+        if (itsBGLProcIntegrationSteps != null && !inputBGLIntegrationSteps.equals(itsBGLProcIntegrationSteps.limits)) {  
+            itsBGLProcIntegrationSteps.limits = inputBGLIntegrationSteps.getText();
+            saveNode(itsBGLProcIntegrationSteps);
+        }
         if (itsMaxConcurrentComm != null && !inputMaxConcurrentComm.equals(itsMaxConcurrentComm.limits)) {  
             itsMaxConcurrentComm.limits = inputMaxConcurrentComm.getText();
             saveNode(itsMaxConcurrentComm);
@@ -806,6 +825,22 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
             itsStationInputTransport.limits = inputStationInputTransport.getSelectedItem().toString();
             saveNode(itsStationInputTransport);
         }
+
+        // OLAP-IONProc
+        if (itsIONProcIntegrationSteps != null && !inputIONProcIntegrationSteps.equals(itsIONProcIntegrationSteps.limits)) {  
+            itsIONProcIntegrationSteps.limits = inputIONProcIntegrationSteps.getText();
+            saveNode(itsIONProcIntegrationSteps);
+        }
+
+        //OLAP-StorageProc
+        if (itsStorageProcIntegrationSteps != null && !inputStorageProcIntegrationSteps.equals(itsStorageProcIntegrationSteps.limits)) {  
+            itsStorageProcIntegrationSteps.limits = inputStorageProcIntegrationSteps.getText();
+            saveNode(itsStorageProcIntegrationSteps);
+        }
+        if (itsSubbandsPerMS != null && !inputSubbandsPerMS.equals(itsSubbandsPerMS.limits)) {  
+            itsSubbandsPerMS.limits = inputSubbandsPerMS.getText();
+            saveNode(itsSubbandsPerMS);
+        }
     }
     
     /** This method is called from within the constructor to
@@ -823,10 +858,6 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
         jPanel2 = new javax.swing.JPanel();
         jPanel4 = new javax.swing.JPanel();
         jPanel8 = new javax.swing.JPanel();
-        labelMinIntSteps = new javax.swing.JLabel();
-        inputMinIntSteps = new javax.swing.JTextField();
-        labelMajIntSteps = new javax.swing.JLabel();
-        inputMajIntSteps = new javax.swing.JTextField();
         labelEPAHeaderSize = new javax.swing.JLabel();
         inputEPAHeaderSize = new javax.swing.JTextField();
         labelIPHeaderSize = new javax.swing.JLabel();
@@ -845,8 +876,6 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
         inputNrSecondsOfBuffer = new javax.swing.JTextField();
         labelSubbandsPerPset = new javax.swing.JLabel();
         inputSubbandsPerPset = new javax.swing.JTextField();
-        labelStorageIntegrationTime = new javax.swing.JLabel();
-        inputStorageIntegrationTime = new javax.swing.JTextField();
         labelStorageStationNames = new javax.swing.JLabel();
         inputStorageStationNames = new javax.swing.JTextField();
         labelPsetsPerStorage = new javax.swing.JLabel();
@@ -880,6 +909,8 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
         inputPsetsPerCell = new javax.swing.JComboBox();
         labelNodesPerPset = new javax.swing.JLabel();
         inputNodesPerPset = new javax.swing.JComboBox();
+        labelBGLIntegrationSteps = new javax.swing.JLabel();
+        inputBGLIntegrationSteps = new javax.swing.JTextField();
         jPanel5 = new javax.swing.JPanel();
         labelHostName = new javax.swing.JLabel();
         inputHostName = new javax.swing.JTextField();
@@ -889,6 +920,14 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
         inputConverterType = new javax.swing.JComboBox();
         labelPositionType = new javax.swing.JLabel();
         inputPositionType = new javax.swing.JTextField();
+        jPanel10 = new javax.swing.JPanel();
+        labelIONProcIntegrationSteps = new javax.swing.JLabel();
+        inputIONProcIntegrationSteps = new javax.swing.JTextField();
+        jPanel11 = new javax.swing.JPanel();
+        labelStorageIntegrationTime = new javax.swing.JLabel();
+        inputStorageProcIntegrationSteps = new javax.swing.JTextField();
+        labelSubbandsPerMs = new javax.swing.JLabel();
+        inputSubbandsPerMS = new javax.swing.JTextField();
         buttonPanel1 = new nl.astron.lofar.sas.otbcomponents.ButtonPanel();
 
         javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
@@ -918,10 +957,6 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
 
         jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
         jPanel8.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Olap", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(0, 0, 0)));
-        labelMinIntSteps.setText("Minor Integration Steps:");
-
-        labelMajIntSteps.setText("Major Integration Steps:");
-
         labelEPAHeaderSize.setText("EPA Header Size:");
 
         labelIPHeaderSize.setText("IP Header Size:");
@@ -943,8 +978,6 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
 
         labelSubbandsPerPset.setText("# Subbands Per Pset:");
 
-        labelStorageIntegrationTime.setText("StorageIntegrationTime:");
-
         labelStorageStationNames.setText("storageStationNames:");
 
         labelPsetsPerStorage.setText("#psetsPerStorage:");
@@ -958,46 +991,36 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
                 .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                     .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                         .addComponent(labelDelayCompensation, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                        .addComponent(labelStorageIntegrationTime, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                         .addComponent(labelFirstInputPortNr, javax.swing.GroupLayout.Alignment.LEADING)
-                        .addComponent(labelIPHeaderSize, javax.swing.GroupLayout.Alignment.LEADING)
-                        .addComponent(labelNrTimesInFrame, javax.swing.GroupLayout.Alignment.LEADING)
-                        .addComponent(labelNrBitsPerSample, javax.swing.GroupLayout.Alignment.LEADING))
-                    .addComponent(labelStorageStationNames))
+                        .addComponent(labelIPHeaderSize, javax.swing.GroupLayout.Alignment.LEADING))
+                    .addComponent(labelStorageStationNames)
+                    .addComponent(labelNrTimesInFrame)
+                    .addComponent(labelNrBitsPerSample))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                     .addComponent(inputStorageStationNames)
                     .addGroup(jPanel8Layout.createSequentialGroup()
+                        .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                            .addComponent(inputNrTimesInFrame)
+                            .addComponent(inputIPHeaderSize)
+                            .addComponent(inputFirstInputPortNr, javax.swing.GroupLayout.DEFAULT_SIZE, 115, Short.MAX_VALUE)
+                            .addComponent(inputDelayCompensation)
+                            .addComponent(inputNrBitsPerSample))
+                        .addGap(21, 21, 21)
                         .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(inputNrBitsPerSample, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
-                            .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
-                                .addComponent(inputNrTimesInFrame)
-                                .addComponent(inputFirstInputPortNr)
-                                .addComponent(inputIPHeaderSize)
-                                .addComponent(inputStorageIntegrationTime, javax.swing.GroupLayout.DEFAULT_SIZE, 91, Short.MAX_VALUE))
-                            .addComponent(inputDelayCompensation))
-                        .addGap(45, 45, 45)
-                        .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(labelNrSecondsOfBuffer)
                             .addComponent(labelSubbandsPerPset)
-                            .addComponent(labelNrSubbandsPerFrame)
+                            .addComponent(labelPsetsPerStorage)
                             .addComponent(labelEPAHeaderSize)
-                            .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
-                                .addComponent(labelPsetsPerStorage, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                                .addComponent(labelMinIntSteps, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
+                            .addComponent(labelNrSubbandsPerFrame)
+                            .addComponent(labelNrSecondsOfBuffer))
                         .addGap(18, 18, 18)
-                        .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
-                            .addComponent(inputPsetsPerStorage)
-                            .addComponent(inputSubbandsPerPset)
-                            .addComponent(inputMinIntSteps)
-                            .addComponent(inputEPAHeaderSize)
+                        .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(inputNrSecondsOfBuffer, javax.swing.GroupLayout.DEFAULT_SIZE, 91, Short.MAX_VALUE)
                             .addComponent(inputNrSubbandsPerFrame)
-                            .addComponent(inputNrSecondsOfBuffer, javax.swing.GroupLayout.DEFAULT_SIZE, 91, Short.MAX_VALUE))
-                        .addGap(31, 31, 31)
-                        .addComponent(labelMajIntSteps)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(inputMajIntSteps, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)))
-                .addContainerGap(47, Short.MAX_VALUE))
+                            .addComponent(inputEPAHeaderSize)
+                            .addComponent(inputPsetsPerStorage, javax.swing.GroupLayout.DEFAULT_SIZE, 91, Short.MAX_VALUE)
+                            .addComponent(inputSubbandsPerPset, javax.swing.GroupLayout.DEFAULT_SIZE, 91, Short.MAX_VALUE))))
+                .addContainerGap(286, Short.MAX_VALUE))
         );
         jPanel8Layout.setVerticalGroup(
             jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -1009,43 +1032,33 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
                             .addComponent(inputFirstInputPortNr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                         .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                            .addComponent(labelStorageIntegrationTime)
-                            .addComponent(inputStorageIntegrationTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                             .addComponent(labelPsetsPerStorage)
                             .addComponent(inputPsetsPerStorage, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                         .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                             .addComponent(labelIPHeaderSize)
                             .addComponent(inputIPHeaderSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                            .addComponent(labelMinIntSteps)
-                            .addComponent(inputMinIntSteps, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                            .addComponent(labelMajIntSteps)
-                            .addComponent(inputMajIntSteps, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                            .addComponent(inputEPAHeaderSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(labelEPAHeaderSize)))
                     .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                         .addComponent(labelSubbandsPerPset)
                         .addComponent(inputSubbandsPerPset, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(inputNrTimesInFrame, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(labelNrSubbandsPerFrame)
                     .addComponent(labelNrTimesInFrame)
-                    .addGroup(jPanel8Layout.createSequentialGroup()
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(inputEPAHeaderSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                            .addComponent(labelNrBitsPerSample)
-                            .addComponent(inputNrBitsPerSample, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                            .addComponent(labelNrSubbandsPerFrame)
-                            .addComponent(inputNrSubbandsPerFrame, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
-                    .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                        .addComponent(inputNrTimesInFrame, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                        .addComponent(labelEPAHeaderSize)))
+                    .addComponent(inputNrSubbandsPerFrame, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(labelNrBitsPerSample)
+                    .addComponent(labelNrSecondsOfBuffer)
+                    .addComponent(inputNrSecondsOfBuffer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(inputNrBitsPerSample, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(12, 12, 12)
                 .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                     .addComponent(labelDelayCompensation)
-                    .addComponent(inputDelayCompensation)
-                    .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
-                        .addComponent(inputNrSecondsOfBuffer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                        .addComponent(labelNrSecondsOfBuffer)))
+                    .addComponent(inputDelayCompensation))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(labelStorageStationNames)
@@ -1147,10 +1160,10 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
                 .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(labelBGLProcStorageBaseFileName)
                     .addComponent(inputBGLProcStorageBaseFileName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addGap(31, 31, 31))
+                .addGap(98, 98, 98))
         );
 
-        jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "BGLProc", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(0, 0, 0)));
+        jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "BGL Proc", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(0, 0, 0)));
         jPanel7.setToolTipText("BGLProc");
         labelMaxConcurrentComm.setText("Max Concurrent Comm:");
 
@@ -1164,6 +1177,8 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
 
         inputNodesPerPset.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
 
+        labelBGLIntegrationSteps.setText("Integration Steps:");
+
         javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
         jPanel7.setLayout(jPanel7Layout);
         jPanel7Layout.setHorizontalGroup(
@@ -1171,39 +1186,47 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
             .addGroup(jPanel7Layout.createSequentialGroup()
                 .addContainerGap()
                 .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
-                        .addComponent(labelNrPPFTaps)
-                        .addComponent(labelMaxConcurrentComm, javax.swing.GroupLayout.DEFAULT_SIZE, 131, Short.MAX_VALUE))
-                    .addComponent(labelNodesPerPset)
-                    .addComponent(labelPsetsPerCell, javax.swing.GroupLayout.DEFAULT_SIZE, 131, Short.MAX_VALUE))
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
-                    .addComponent(inputNodesPerPset, 0, 143, Short.MAX_VALUE)
-                    .addComponent(inputPsetsPerCell, 0, 143, Short.MAX_VALUE)
-                    .addComponent(inputMaxConcurrentComm)
-                    .addComponent(inputNrPPFTaps))
-                .addGap(53, 53, 53))
+                    .addGroup(jPanel7Layout.createSequentialGroup()
+                        .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(labelMaxConcurrentComm, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE)
+                            .addComponent(labelNrPPFTaps)
+                            .addComponent(labelNodesPerPset)
+                            .addComponent(labelPsetsPerCell, javax.swing.GroupLayout.DEFAULT_SIZE, 140, Short.MAX_VALUE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
+                    .addGroup(jPanel7Layout.createSequentialGroup()
+                        .addComponent(labelBGLIntegrationSteps, javax.swing.GroupLayout.DEFAULT_SIZE, 97, Short.MAX_VALUE)
+                        .addGap(47, 47, 47)))
+                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addComponent(inputBGLIntegrationSteps, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE)
+                    .addComponent(inputPsetsPerCell, javax.swing.GroupLayout.Alignment.TRAILING, 0, 189, Short.MAX_VALUE)
+                    .addComponent(inputNrPPFTaps, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE)
+                    .addComponent(inputNodesPerPset, 0, 189, Short.MAX_VALUE)
+                    .addComponent(inputMaxConcurrentComm, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE))
+                .addContainerGap())
         );
         jPanel7Layout.setVerticalGroup(
             jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(jPanel7Layout.createSequentialGroup()
-                .addContainerGap()
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                 .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(labelMaxConcurrentComm)
                     .addComponent(inputMaxConcurrentComm, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addGap(12, 12, 12)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(labelNrPPFTaps)
                     .addComponent(inputNrPPFTaps, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addGap(21, 21, 21)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(labelNodesPerPset)
                     .addComponent(inputNodesPerPset, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addGap(14, 14, 14)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(labelPsetsPerCell)
                     .addComponent(inputPsetsPerCell, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
-                .addContainerGap(95, Short.MAX_VALUE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(labelBGLIntegrationSteps)
+                    .addComponent(inputBGLIntegrationSteps, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
         );
 
         jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Delay Compensation", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(0, 0, 0)));
@@ -1238,7 +1261,7 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
                     .addComponent(labelPorts, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(inputPorts, javax.swing.GroupLayout.DEFAULT_SIZE, 240, Short.MAX_VALUE)
+                    .addComponent(inputPorts, javax.swing.GroupLayout.DEFAULT_SIZE, 252, Short.MAX_VALUE)
                     .addComponent(inputPositionType, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE))
                 .addContainerGap())
         );
@@ -1260,6 +1283,66 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
+        jPanel10.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "ION Proc", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(0, 0, 0)));
+        labelIONProcIntegrationSteps.setText("Integration Steps:");
+
+        javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);
+        jPanel10.setLayout(jPanel10Layout);
+        jPanel10Layout.setHorizontalGroup(
+            jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel10Layout.createSequentialGroup()
+                .addContainerGap()
+                .addComponent(labelIONProcIntegrationSteps)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 44, Short.MAX_VALUE)
+                .addComponent(inputIONProcIntegrationSteps, javax.swing.GroupLayout.PREFERRED_SIZE, 182, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addGap(29, 29, 29))
+        );
+        jPanel10Layout.setVerticalGroup(
+            jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel10Layout.createSequentialGroup()
+                .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(labelIONProcIntegrationSteps)
+                    .addComponent(inputIONProcIntegrationSteps, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
+        jPanel11.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Storage Proc", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(0, 0, 0)));
+        labelStorageIntegrationTime.setText("Integration Steps:");
+
+        labelSubbandsPerMs.setText("#subbands per MS:");
+
+        javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11);
+        jPanel11.setLayout(jPanel11Layout);
+        jPanel11Layout.setHorizontalGroup(
+            jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel11Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel11Layout.createSequentialGroup()
+                        .addComponent(labelStorageIntegrationTime, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                        .addGap(56, 56, 56))
+                    .addGroup(jPanel11Layout.createSequentialGroup()
+                        .addComponent(labelSubbandsPerMs, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addGap(40, 40, 40)))
+                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(inputSubbandsPerMS)
+                    .addComponent(inputStorageProcIntegrationSteps, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE))
+                .addContainerGap())
+        );
+        jPanel11Layout.setVerticalGroup(
+            jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel11Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(labelStorageIntegrationTime)
+                    .addComponent(inputStorageProcIntegrationSteps, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(labelSubbandsPerMs)
+                    .addComponent(inputSubbandsPerMS, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+        );
+
         javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
         jPanel3.setLayout(jPanel3Layout);
         jPanel3Layout.setHorizontalGroup(
@@ -1270,17 +1353,25 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
                     .addGroup(jPanel3Layout.createSequentialGroup()
                         .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                        .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(jPanel10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                            .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                     .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                 .addContainerGap())
         );
         jPanel3Layout.setVerticalGroup(
             jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(jPanel3Layout.createSequentialGroup()
-                .addContainerGap()
-                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, 263, Short.MAX_VALUE))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addGroup(jPanel3Layout.createSequentialGroup()
+                        .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(jPanel11, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(jPanel10, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, 330, Short.MAX_VALUE))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
         );
@@ -1298,13 +1389,13 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
             .addGroup(jPanel4Layout.createSequentialGroup()
                 .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                     .addGroup(jPanel4Layout.createSequentialGroup()
-                        .addGap(10, 10, 10)
-                        .addComponent(jPanel8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                        .addContainerGap()
+                        .addComponent(jPanel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                     .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                     .addGroup(jPanel4Layout.createSequentialGroup()
                         .addContainerGap()
-                        .addComponent(buttonPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 774, javax.swing.GroupLayout.PREFERRED_SIZE)))
-                .addContainerGap())
+                        .addComponent(buttonPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 785, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
         jPanel4Layout.setVerticalGroup(
             jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -1314,7 +1405,7 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
                 .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(buttonPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addContainerGap())
         );
 
         javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
@@ -1322,8 +1413,8 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
         jPanel2Layout.setHorizontalGroup(
             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(jPanel2Layout.createSequentialGroup()
-                .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                .addContainerGap())
+                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
         jPanel2Layout.setVerticalGroup(
             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -1356,18 +1447,16 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
     private jOTDBnode itsIPHeaderSize=null;
     private jOTDBnode itsDelayCompensation=null;
     private jOTDBnode itsFirstInputPortNr=null;
-    private jOTDBnode itsMajorIntegrationSteps=null;
-    private jOTDBnode itsMinorIntegrationSteps=null;
     private jOTDBnode itsNrBitsPerSample=null;
     private jOTDBnode itsNrSecondsOfBuffer=null;
     private jOTDBnode itsNrSubbandsPerFrame=null;
     private jOTDBnode itsNrTimesInFrame=null;
-    private jOTDBnode itsStorageIntegrationTime=null;
     private jOTDBnode itsStorageStationNames=null;
     private jOTDBnode itsSubbandsPerPset=null;
     private jOTDBnode itsPsetsPerStorage=null;
     
     // OLAP-BGLProc parameters
+    private jOTDBnode itsBGLProcIntegrationSteps=null;
     private jOTDBnode itsMaxConcurrentComm=null;
     private jOTDBnode itsNodesPerPset=null;
     private jOTDBnode itsNrPPFTaps=null;
@@ -1379,7 +1468,7 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
     private jOTDBnode itsPorts=null;
     private jOTDBnode itsPositionType=null;
     
-    // OLAP-OLAP_Conn
+    // OLAP-Conn parameters
     private jOTDBnode itsAMCServerHost=null;
     private jOTDBnode itsAMCServerPort=null;
     private jOTDBnode itsBGLProcStorageBaseFileName=null;
@@ -1390,11 +1479,18 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
     private jOTDBnode itsInputBGLProcTransport=null;
     private jOTDBnode itsStationInputTransport=null;
    
+    // OLAP-StorageProc parameters
+    private jOTDBnode itsSubbandsPerMS=null;
+    private jOTDBnode itsStorageProcIntegrationSteps=null;
+    
+    // OLAP-IONProc parameters
+    private jOTDBnode itsIONProcIntegrationSteps=null;
     
     // Variables declaration - do not modify//GEN-BEGIN:variables
     private nl.astron.lofar.sas.otbcomponents.ButtonPanel buttonPanel1;
     private javax.swing.JTextField inputAMCServerHost;
     private javax.swing.JTextField inputAMCServerPort;
+    private javax.swing.JTextField inputBGLIntegrationSteps;
     private javax.swing.JTextField inputBGLProcStorageBaseFileName;
     private javax.swing.JTextField inputBGLProcStoragePorts;
     private javax.swing.JComboBox inputBGLProcStorageTransport;
@@ -1403,13 +1499,12 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
     private javax.swing.JTextField inputEPAHeaderSize;
     private javax.swing.JTextField inputFirstInputPortNr;
     private javax.swing.JTextField inputHostName;
+    private javax.swing.JTextField inputIONProcIntegrationSteps;
     private javax.swing.JTextField inputIPHeaderSize;
     private javax.swing.JTextField inputInputBGLProcBaseFileName;
     private javax.swing.JTextField inputInputBGLProcPorts;
     private javax.swing.JComboBox inputInputBGLProcTransport;
-    private javax.swing.JTextField inputMajIntSteps;
     private javax.swing.JTextField inputMaxConcurrentComm;
-    private javax.swing.JTextField inputMinIntSteps;
     private javax.swing.JComboBox inputNodesPerPset;
     private javax.swing.JTextField inputNrBitsPerSample;
     private javax.swing.JTextField inputNrPPFTaps;
@@ -1421,11 +1516,14 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
     private javax.swing.JComboBox inputPsetsPerCell;
     private javax.swing.JTextField inputPsetsPerStorage;
     private javax.swing.JComboBox inputStationInputTransport;
-    private javax.swing.JTextField inputStorageIntegrationTime;
+    private javax.swing.JTextField inputStorageProcIntegrationSteps;
     private javax.swing.JTextField inputStorageStationNames;
+    private javax.swing.JTextField inputSubbandsPerMS;
     private javax.swing.JTextField inputSubbandsPerPset;
     private javax.swing.JLabel jLabel1;
     private javax.swing.JPanel jPanel1;
+    private javax.swing.JPanel jPanel10;
+    private javax.swing.JPanel jPanel11;
     private javax.swing.JPanel jPanel2;
     private javax.swing.JPanel jPanel3;
     private javax.swing.JPanel jPanel4;
@@ -1436,6 +1534,7 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
     private javax.swing.JPanel jPanel9;
     private javax.swing.JLabel labelAMCServerHost;
     private javax.swing.JLabel labelAMCServerPort;
+    private javax.swing.JLabel labelBGLIntegrationSteps;
     private javax.swing.JLabel labelBGLProcStorageBaseFileName;
     private javax.swing.JLabel labelBGLProcStoragePorts;
     private javax.swing.JLabel labelBGLProcStorageTransport;
@@ -1444,13 +1543,12 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
     private javax.swing.JLabel labelEPAHeaderSize;
     private javax.swing.JLabel labelFirstInputPortNr;
     private javax.swing.JLabel labelHostName;
+    private javax.swing.JLabel labelIONProcIntegrationSteps;
     private javax.swing.JLabel labelIPHeaderSize;
     private javax.swing.JLabel labelInputBGLProcBaseFileName;
     private javax.swing.JLabel labelInputBGLProcPorts;
     private javax.swing.JLabel labelInputBGLProcTransport;
-    private javax.swing.JLabel labelMajIntSteps;
     private javax.swing.JLabel labelMaxConcurrentComm;
-    private javax.swing.JLabel labelMinIntSteps;
     private javax.swing.JLabel labelNodesPerPset;
     private javax.swing.JLabel labelNrBitsPerSample;
     private javax.swing.JLabel labelNrPPFTaps;
@@ -1463,6 +1561,7 @@ public class OlapPanel extends javax.swing.JPanel implements IViewPanel{
     private javax.swing.JLabel labelStationInputTransport;
     private javax.swing.JLabel labelStorageIntegrationTime;
     private javax.swing.JLabel labelStorageStationNames;
+    private javax.swing.JLabel labelSubbandsPerMs;
     private javax.swing.JLabel labelSubbandsPerPset;
     // End of variables declaration//GEN-END:variables