diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ClientPluginFactory.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ClientPluginFactory.java
index 316a52d8ab6aafd3f441da7182de6f087ce08fef..665ec4a7ea8d77cce1aedc7b1057fbcbe1c8b90d 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ClientPluginFactory.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ClientPluginFactory.java
@@ -19,24 +19,32 @@ package ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.applicatio
 import java.util.Collections;
 import java.util.Set;
 
-import com.google.gwt.user.client.ui.Widget;
-
 import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractClientPluginFactory;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DatabaseModificationAwareComponent;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DatabaseModificationAwareWidget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DefaultTabItem;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DummyComponent;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ITabItem;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ITabItemFactory;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier.HelpPageAction;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier.HelpPageDomain;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.ClientPluginAdapter;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.IClientPlugin;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.IModule;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.AbstractRegistrationForm;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.AbstractViewer;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifiable;
-import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityType;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType;
+import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.IGenericClientServiceAsync;
+import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.GenericViewContext;
+import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment.GenericExperimentEditForm;
+import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment.GenericExperimentRegistrationForm;
+import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment.GenericExperimentViewer;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.IPhosphoNetXClientServiceAsync;
 
 /**
@@ -66,9 +74,9 @@ public class ClientPluginFactory extends
 
     public Set<String> getEntityTypeCodes(EntityKind entityKind)
     {
-        if (entityKind == EntityKind.SAMPLE)
+        if (entityKind == EntityKind.EXPERIMENT)
         {
-            return Collections.singleton("TEST");
+            return Collections.singleton("MS_SEARCH");
         }
         return Collections.emptySet();
     }
@@ -77,9 +85,9 @@ public class ClientPluginFactory extends
     public <T extends EntityType, I extends IIdentifiable> IClientPlugin<T, I> createClientPlugin(
             EntityKind entityKind)
     {
-        if (EntityKind.SAMPLE.equals(entityKind))
+        if (EntityKind.EXPERIMENT.equals(entityKind))
         {
-            return (IClientPlugin<T, I>) new SampleClientPlugin();
+            return (IClientPlugin<T, I>) new ExperimentClientPlugin();
         }
         throw new UnsupportedOperationException("IClientPlugin for entity kind '" + entityKind
                 + "' not implemented yet.");
@@ -89,75 +97,91 @@ public class ClientPluginFactory extends
     // Helper classes
     //
 
-    private final class SampleClientPlugin implements IClientPlugin<SampleType, IIdentifiable>
+    private final class ExperimentClientPlugin extends
+            ClientPluginAdapter<ExperimentType, IIdentifiable>
     {
         //
         // IViewClientPlugin
         //
-
+        
+        @Override
         public final ITabItemFactory createEntityViewer(final IIdentifiable identifiable)
         {
-
-            final TechId sampleId = TechId.create(identifiable);
             return new ITabItemFactory()
                 {
                     public ITabItem create()
                     {
-                        return DefaultTabItem.createUnaware(identifiable.getCode(),
-                                new DummyComponent("PhosphoNetX plugin coming soon."), false);
+                        final DatabaseModificationAwareComponent experimentViewer =
+                                ExperimentViewer.create(getViewContext(), identifiable);
+                        return DefaultTabItem.create(getViewerTitle(Dict.EXPERIMENT, identifiable),
+                                experimentViewer, getViewContext(), false);
                     }
 
                     public String getId()
                     {
-                        return "phosphonetx-viewer-" + sampleId;
+                        return GenericExperimentViewer.createId(identifiable);
                     }
 
                     public HelpPageIdentifier getHelpPageIdentifier()
                     {
-                        return HelpPageIdentifier.createSpecific("PhosphoNetX Sample Viewer");
+                        return new HelpPageIdentifier(HelpPageDomain.EXPERIMENT,
+                                HelpPageAction.VIEW);
                     }
                 };
         }
 
-        public final DatabaseModificationAwareWidget createRegistrationForEntityType(
-                final SampleType sampleTypeCode)
-        {
-            return DatabaseModificationAwareWidget.wrapUnaware(new DummyComponent(
-                    "Creating of a sample for PhosphoNetX is coming soon."));
-        }
-
-        public final Widget createBatchRegistrationForEntityType(final SampleType sampleType)
-        {
-            return new DummyComponent();
-        }
-
-        public final Widget createBatchUpdateForEntityType(final SampleType sampleType)
+        @Override
+        public DatabaseModificationAwareWidget createRegistrationForEntityType(
+                ExperimentType entityType)
         {
-            return new DummyComponent();
+            GenericExperimentRegistrationForm form =
+                    new GenericExperimentRegistrationForm(getGenericViewContext(), entityType);
+            return new DatabaseModificationAwareWidget(form, form);
         }
 
+        @Override
         public ITabItemFactory createEntityEditor(final IIdentifiable identifiable)
         {
             return new ITabItemFactory()
                 {
                     public ITabItem create()
                     {
-                        return DefaultTabItem.createUnaware(identifiable.getCode(),
-                                new DummyComponent(), false);
+                        DatabaseModificationAwareComponent component =
+                                GenericExperimentEditForm.create(getGenericViewContext(), identifiable);
+                        String title = getEditorTitle(Dict.EXPERIMENT, identifiable);
+                        return DefaultTabItem.create(title, component, getViewContext(), true);
                     }
 
                     public String getId()
                     {
-                        return DummyComponent.ID;
+                        return GenericExperimentEditForm.createId(identifiable,
+                                EntityKind.EXPERIMENT);
                     }
 
                     public HelpPageIdentifier getHelpPageIdentifier()
                     {
-                        return HelpPageIdentifier.createSpecific("PhosphoNetX Sample Edition");
+                        return new HelpPageIdentifier(HelpPageDomain.EXPERIMENT,
+                                HelpPageAction.EDIT);
                     }
                 };
         }
+        
+        private String getViewerTitle(final String entityKindDictKey, final IIdentifiable identifiable)
+        {
+            return AbstractViewer.getTitle(getViewContext(), entityKindDictKey, identifiable);
+        }
 
+        private String getEditorTitle(final String entityKindDictKey, final IIdentifiable identifiable)
+        {
+            return AbstractRegistrationForm.getEditTitle(getViewContext(), entityKindDictKey,
+                    identifiable);
+        }
+        
+        private IViewContext<IGenericClientServiceAsync> getGenericViewContext()
+        {
+            return new GenericViewContext(getViewContext().getCommonViewContext());
+        }
     }
 
 }
+
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/Dict.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/Dict.java
index ac98705d842fe6200751afbfbb4c4a9d54e1866f..f9f5b58c31ecb7c9657ad2cb7c8715dddf74f957 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/Dict.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/Dict.java
@@ -49,6 +49,8 @@ public class Dict
     
 
     // Protein Viewer
+    public static final String PROTEINS_SECTION = "proteins_section";
+
     public static final String PROTEIN_IN_EXPERIMENT_TAB_LABEL = "protein_in_experiment_tab_label";
 
     public static final String EXPERIMENT_LABEL = "experiment_label";
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/DisplayTypeIDGenerator.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/DisplayTypeIDGenerator.java
new file mode 100644
index 0000000000000000000000000000000000000000..d0a65a958a298171f4d5835164840494aff67f78
--- /dev/null
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/DisplayTypeIDGenerator.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009 ETH Zuerich, CISD
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.application;
+
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.IDisplayTypeIDGenerator;
+
+/**
+ * Enum for all generic {@link IDisplayTypeIDGenerator}s.
+ * 
+ * @author Franz-Josef Elmer
+ */
+public enum DisplayTypeIDGenerator implements IDisplayTypeIDGenerator
+{
+    PROTEIN_SECTION("protein-section"),
+
+    ;
+
+    private final String genericNameOrPrefix;
+
+    private DisplayTypeIDGenerator(String genericNameOrPrefix)
+    {
+        this.genericNameOrPrefix = genericNameOrPrefix;
+    }
+
+    public String createID()
+    {
+        return genericNameOrPrefix;
+    }
+
+    public String createID(String suffix)
+    {
+        return genericNameOrPrefix + suffix;
+    }
+}
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ExperimentViewer.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ExperimentViewer.java
new file mode 100644
index 0000000000000000000000000000000000000000..758789de39418db422c8db8864c618aefa32c2b2
--- /dev/null
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ExperimentViewer.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2010 ETH Zuerich, CISD
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.application;
+
+import java.util.Collections;
+import java.util.List;
+
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.BrowserSectionPanel;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DatabaseModificationAwareComponent;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent;
+import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifiable;
+import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.IGenericClientServiceAsync;
+import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.GenericViewContext;
+import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment.GenericExperimentViewer;
+import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.IPhosphoNetXClientServiceAsync;
+
+/**
+ * 
+ *
+ * @author Franz-Josef Elmer
+ */
+public class ExperimentViewer extends GenericExperimentViewer
+{
+    public static DatabaseModificationAwareComponent create(
+            final IViewContext<IPhosphoNetXClientServiceAsync> viewContext,
+            final IIdentifiable identifiable)
+    {
+        ExperimentViewer viewer =
+                new ExperimentViewer(new GenericViewContext(viewContext.getCommonViewContext()),
+                        viewContext, identifiable);
+        return new DatabaseModificationAwareComponent(viewer, viewer.getModificationObserver());
+    }
+
+    private final IViewContext<IPhosphoNetXClientServiceAsync> specificViewContext;
+
+    protected ExperimentViewer(IViewContext<IGenericClientServiceAsync> viewContext,
+            IViewContext<IPhosphoNetXClientServiceAsync> specificViewContext,
+            IIdentifiable experiment)
+    {
+        super(viewContext, experiment);
+        this.specificViewContext = specificViewContext;
+    }
+
+    @Override
+    protected List<BrowserSectionPanel> createAdditionalBrowserSectionPanels(String displyIdSuffix)
+    {
+        IDisposableComponent grid =
+                ProteinByExperimentBrowserGrid.create(specificViewContext, experimentOrNull);
+        BrowserSectionPanel section =
+                new BrowserSectionPanel(specificViewContext.getMessage(Dict.PROTEINS_SECTION), grid);
+        section.setDisplayID(DisplayTypeIDGenerator.PROTEIN_SECTION, displyIdSuffix);
+        return Collections.<BrowserSectionPanel> singletonList(section);
+    }
+    
+    
+
+}
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowerToolBar.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowerToolBar.java
index e9996c8d8fcb62ba5875b90ac7a5b7c92587132f..365ba1227b0f7dcfb4c450f047eb8eb5e47d76ff 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowerToolBar.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowerToolBar.java
@@ -36,10 +36,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericCon
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.NonHierarchicalBaseModelData;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.VocabularyTermModel;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.ExperimentChooserField;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.IChosenEntityListener;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.VocabularyTermSelectionWidget;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field.ExperimentChooserField.ExperimentChooserFieldAdaptor;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary;
@@ -154,8 +151,6 @@ class ProteinByExperimentBrowerToolBar extends ToolBar
 
     private final ComboBox<FalseDiscoveryRateModel> fdrComboBox;
 
-    private final ExperimentChooserFieldAdaptor chooser;
-
     private final ComboBox<AggregateFunctionModel> aggregateFunctionComboBox;
 
     private final VocabularyTermSelectionWidget treatmentTypeComboBox;
@@ -168,32 +163,14 @@ class ProteinByExperimentBrowerToolBar extends ToolBar
 
     private ProteinSummaryGrid summaryGrid;
 
-    ProteinByExperimentBrowerToolBar(IViewContext<IPhosphoNetXClientServiceAsync> viewContext)
+    ProteinByExperimentBrowerToolBar(IViewContext<IPhosphoNetXClientServiceAsync> viewContext, Experiment experiment)
     {
         this.viewContext = viewContext;
+        this.experiment = experiment;
         setBorders(true);
         // WORKAROUND to get all elements in the toolbar present independent of the original width
         // of the parent
         setWidth(3000);
-        add(new LabelToolItem(viewContext.getMessage(Dict.SELECTED_EXPERIMENT_LABEL)
-                + GenericConstants.LABEL_SEPARATOR));
-        chooser =
-                ExperimentChooserField.create("", false, null, viewContext.getCommonViewContext());
-        ExperimentChooserField chooserField = chooser.getChooserField();
-        chooserField.setEditable(false);
-        chooserField.addChosenEntityListener(new IChosenEntityListener<Experiment>()
-            {
-                public void entityChosen(Experiment entity)
-                {
-                    if (entity != null)
-                    {
-                        experiment = entity;
-                        update();
-                    }
-                }
-            });
-        add(chooserField);
-
         add(new LabelToolItem(viewContext.getMessage(Dict.FDR_FILTER_LABEL)
                 + GenericConstants.LABEL_SEPARATOR));
         fdrComboBox = createFDRComboBox(new SelectionChangedListener<FalseDiscoveryRateModel>()
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowserGrid.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowserGrid.java
index 39ff508095c91837e3744ddbc990acf25ed7b718..f06474268e4f52ac3f5c92467ad8a154308dd4f2 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowserGrid.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinByExperimentBrowserGrid.java
@@ -50,6 +50,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.GridRowModel;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IColumnDefinition;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.IPhosphoNetXClientServiceAsync;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.application.columns.InternalAbundanceColumnDefinition;
@@ -84,13 +85,13 @@ class ProteinByExperimentBrowserGrid extends AbstractSimpleBrowserGrid<ProteinIn
     private List<AbundanceColumnDefinition> abundanceColumnDefinitions;
     
     static IDisposableComponent create(
-            final IViewContext<IPhosphoNetXClientServiceAsync> viewContext)
+            final IViewContext<IPhosphoNetXClientServiceAsync> viewContext, Experiment experiment)
     {
         final IDisposableComponent summaryGrid = ProteinSummaryGrid.create(viewContext);
         ProteinByExperimentBrowserGrid browserGrid =
-                new ProteinByExperimentBrowserGrid(viewContext);
+                new ProteinByExperimentBrowserGrid(viewContext, experiment);
         final IDisposableComponent disposableBrowerGrid = browserGrid.asDisposableWithoutToolbar();
-        ProteinByExperimentBrowerToolBar toolBar = browserGrid.toolbar;
+        final ProteinByExperimentBrowerToolBar toolBar = browserGrid.toolbar;
         toolBar.setSummaryGrid((ProteinSummaryGrid) summaryGrid.getComponent());
         final LayoutContainer container = new LayoutContainer();
         container.setLayout(new RowLayout());
@@ -99,6 +100,7 @@ class ProteinByExperimentBrowserGrid extends AbstractSimpleBrowserGrid<ProteinIn
         tabPanel.add(createTab(disposableBrowerGrid, viewContext, Dict.PROTEIN_BROWSER));
         tabPanel.add(createTab(summaryGrid, viewContext, Dict.PROTEIN_SUMMARY));
         container.add(tabPanel, new RowData(1, 1));
+        toolBar.update();
         return new IDisposableComponent()
             {
                 public void update(Set<DatabaseModificationKind> observedModifications)
@@ -137,12 +139,12 @@ class ProteinByExperimentBrowserGrid extends AbstractSimpleBrowserGrid<ProteinIn
     }
     
     private ProteinByExperimentBrowserGrid(
-            final IViewContext<IPhosphoNetXClientServiceAsync> viewContext)
+            final IViewContext<IPhosphoNetXClientServiceAsync> viewContext, Experiment experiment)
     {
         super(viewContext.getCommonViewContext(), BROWSER_ID, GRID_ID, false,
                 PhosphoNetXDisplayTypeIDGenerator.PROTEIN_BY_EXPERIMENT_BROWSER_GRID);
         specificViewContext = viewContext;
-        toolbar = new ProteinByExperimentBrowerToolBar(viewContext);
+        toolbar = new ProteinByExperimentBrowerToolBar(viewContext, experiment);
         toolbar.setBrowserGrid(this);
         registerLinkClickListenerFor(ProteinColDefKind.ACCESSION_NUMBER.id(),
                 new ICellListener<ProteinInfo>()
@@ -154,7 +156,7 @@ class ProteinByExperimentBrowserGrid extends AbstractSimpleBrowserGrid<ProteinIn
                         }
                     });
     }
-
+    
     void update(TechId experimentID, double falseDiscoveryRate,
             AggregateFunction aggregateFunction, String treatmentTypeCode,
             boolean aggregateOriginal, List<AbundanceColumnDefinition> definitions)
@@ -169,6 +171,14 @@ class ProteinByExperimentBrowserGrid extends AbstractSimpleBrowserGrid<ProteinIn
         refresh(true);
     }
 
+    @Override
+    protected void refresh()
+    {
+        System.out.println("ProteinByExperimentBrowserGrid.refresh() "+this);
+        // TODO Auto-generated method stub
+        super.refresh();
+    }
+
     @Override
     protected IColumnDefinitionKind<ProteinInfo>[] getStaticColumnsDefinition()
     {
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinSamplesSection.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinSamplesSection.java
index a18c1ec9ae9bb7c76fa6c3dc3d4eb43e66304a85..da889acf1764c01728dedc0d9fc9e11100646707 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinSamplesSection.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/ProteinSamplesSection.java
@@ -21,8 +21,8 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewConte
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.SingleSectionPanel;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.IDatabaseModificationObserver;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.IDisposableComponent;
+import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifiable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.IPhosphoNetXClientServiceAsync;
 
 /**
@@ -39,7 +39,7 @@ public class ProteinSamplesSection extends SingleSectionPanel
     private IDisposableComponent sampleDisposableGrid;
 
     public ProteinSamplesSection(final IViewContext<IPhosphoNetXClientServiceAsync> viewContext,
-            final TechId proteinReferenceID, Experiment experimentOrNull)
+            final TechId proteinReferenceID, IIdentifiable experimentOrNull)
     {
         super("Samples");
         Long experimentID = experimentOrNull == null ? null : experimentOrNull.getId();
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/QueryMenu.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/QueryMenu.java
index 19ad724e358eed5b151493f91712647e55263a95..2d3ccbd44d623f10de82d942bf65b0354e88e7f5 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/QueryMenu.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/QueryMenu.java
@@ -40,15 +40,15 @@ public class QueryMenu extends TopMenuItem
 
     private static enum ActionMenuKind implements IActionMenuItem
     {
-        ALL_PROTEINS_OF_AN_EXPERIMENT()
-        {
-            @Override
-            IDisposableComponent createComponent(
-                    IViewContext<IPhosphoNetXClientServiceAsync> viewContext)
-            {
-                return ProteinByExperimentBrowserGrid.create(viewContext);
-            }
-        },
+//        ALL_PROTEINS_OF_AN_EXPERIMENT()
+//        {
+//            @Override
+//            IDisposableComponent createComponent(
+//                    IViewContext<IPhosphoNetXClientServiceAsync> viewContext)
+//            {
+//                return ProteinByExperimentBrowserGrid.create(viewContext);
+//            }
+//        },
         ALL_RAW_DATA_SAMPLES()
         {
             @Override
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/public/phosphonetx-dictionary.js b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/public/phosphonetx-dictionary.js
index ac8ee59a99fc58910da39925f3ebdc1dd2f9ad97..0faaf75d392e33ddbe4ddfb119a3e906418b43eb 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/public/phosphonetx-dictionary.js
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/public/phosphonetx-dictionary.js
@@ -16,6 +16,7 @@ var phosphonetx = {
   false_discovery_rate: "FDR",
   
   // Protein in experiment viewer
+  proteins_section: "Proteins",
   protein_in_experiment_tab_label: "{0} in {1}",
   experiment_label: "Experiment",
   sequence_short_name: "",