diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ChannelDescription.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ChannelDescription.java
index b2a5213ecc5ba8be91f82ceba9a69d98ed7ee8fa..514ce8a6470c4063339a9f13cc8a945d8fdc5b92 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ChannelDescription.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ChannelDescription.java
@@ -16,15 +16,17 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * Describes channel by code and label.
  * 
  * @author Izabela Adamczyk
  */
-public class ChannelDescription implements IsSerializable
+public class ChannelDescription implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
     private String code;
 
@@ -43,7 +45,7 @@ public class ChannelDescription implements IsSerializable
         this.label = name;
     }
 
-    // TODO 2010-08-25, Tomasz Pylak: merge with {@link CodeAndLabel} 
+    // TODO 2010-08-25, Tomasz Pylak: merge with {@link CodeAndLabel}
     private String normalize(String name)
     {
         if (name == null)
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/DatasetImagesReference.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/DatasetImagesReference.java
index 426ba14a206320d7c0d2a37495d06eb2c5270f52..1abbade5c7819bee651589d42eea835bf5315021 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/DatasetImagesReference.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/DatasetImagesReference.java
@@ -16,15 +16,18 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * Describes images in one dataset and the way to access them.
  * 
  * @author Tomasz Pylak
  */
-public class DatasetImagesReference implements IsSerializable
+public class DatasetImagesReference implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     public static final DatasetImagesReference create(DatasetReference dataset,
             PlateImageParameters imageParams)
     {
@@ -60,7 +63,7 @@ public class DatasetImagesReference implements IsSerializable
     {
         return dataset.getCode();
     }
-    
+
     public Long getDatasetId()
     {
         return dataset.getId();
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/DatasetReference.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/DatasetReference.java
index 990208db2ca5843de9c883610d04894299537734..dcb3816ec660a1cf81bfc52970a574a0ff412651 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/DatasetReference.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/DatasetReference.java
@@ -16,12 +16,10 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
-import java.io.Serializable;
 import java.util.Date;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
 import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithPermId;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicEntityType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
@@ -31,8 +29,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
  * 
  * @author Tomasz Pylak
  */
-public class DatasetReference implements Serializable, IsSerializable,
-        IEntityInformationHolderWithPermId
+public class DatasetReference implements ISerializable, IEntityInformationHolderWithPermId
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ExperimentReference.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ExperimentReference.java
index 66b5235b73db563a50804243cd6dc987453ef709..cd08b3d60fbbda8e533d2c0c2c9c4e13474bcf5d 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ExperimentReference.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/ExperimentReference.java
@@ -16,11 +16,8 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
-
 import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWithPermId;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicEntityType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
@@ -30,8 +27,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
  * 
  * @author Tomasz Pylak
  */
-public class ExperimentReference implements Serializable, IsSerializable,
-        IEntityInformationHolderWithPermId
+public class ExperimentReference implements ISerializable, IEntityInformationHolderWithPermId
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/FeatureValue.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/FeatureValue.java
index ea8de836afdd61ec97e3e83ba76b746bd4ab3324..4490f7203cdc37eacc3b639064985c42d9f7514a 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/FeatureValue.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/FeatureValue.java
@@ -16,10 +16,7 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
@@ -27,7 +24,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
  * 
  * @author Tomasz Pylak
  */
-public class FeatureValue implements Serializable, IsSerializable
+public class FeatureValue implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/FeatureVectorDataset.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/FeatureVectorDataset.java
index d201dfc879d1aa88a0a476fae5569d816f19de64..8de439b7180cb02b11d51271911aeef6e352c676 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/FeatureVectorDataset.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/FeatureVectorDataset.java
@@ -18,15 +18,18 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * Feature vector dataset with all the feature vectors.
  * 
  * @author Tomasz Pylak
  */
-public class FeatureVectorDataset implements IsSerializable
+public class FeatureVectorDataset implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     private DatasetReference datasetReference;
 
     private List<String> featureLabels;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/FeatureVectorValues.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/FeatureVectorValues.java
index daa6729993d88453c2f79949ef56aa6c45de5277..e0c8a21abba6d9cbbc7409954a7b6e0eeae1d96c 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/FeatureVectorValues.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/FeatureVectorValues.java
@@ -16,9 +16,9 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.annotation.DoNotEscape;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * Bean for one feature vector of the well. Contains data set code, well position and array of
@@ -27,8 +27,10 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.annotation.DoNotEscape;
  * @author Tomasz Pylak
  */
 @DoNotEscape
-public class FeatureVectorValues implements IsSerializable
+public class FeatureVectorValues implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     private WellFeatureVectorReference featureVectorReference;
 
     private FeatureValue[] featureValues;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/LibraryRegistrationInfo.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/LibraryRegistrationInfo.java
index 560d2baf81287d2a4f3c4c9736015b51548a1ca4..a1170d30671589fd828d947c50950698f66a50bc 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/LibraryRegistrationInfo.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/LibraryRegistrationInfo.java
@@ -16,10 +16,7 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
-import java.io.Serializable;
-
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
@@ -27,9 +24,10 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
  * 
  * @author Izabela Adamczyk
  */
-public class LibraryRegistrationInfo implements IsSerializable, Serializable
+public class LibraryRegistrationInfo implements ISerializable
 {
-    public enum RegistrationScope implements IsSerializable
+
+    public enum RegistrationScope implements ISerializable
     {
         PLATES, SIRNAS_PLATES, GENES_SIRNAS_PLATES;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/NamedFeatureVector.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/NamedFeatureVector.java
index 75da5e5d30bdbe5c5817c43eed7f7b7c31865bb0..028b66fde000d1bd446001a7c25c365d3692e34b 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/NamedFeatureVector.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/NamedFeatureVector.java
@@ -16,15 +16,18 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * Feature vector values and metadata (code and label)
  * 
  * @author Tomasz Pylak
  */
-public class NamedFeatureVector implements IsSerializable
+public class NamedFeatureVector implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     // Feature vector values, null if images have not been analyzed.
     // Some features may not be available, then the value is Float.NaN.
     // External data structure should be used to figure out which value corresponds to which
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateContent.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateContent.java
index 12bff367170f8264942d3a7f33925324ab9cd6ca..0bc894b1ad380ba4fc6b413d110c3d6a6238fd5c 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateContent.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateContent.java
@@ -18,9 +18,9 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.annotation.DoNotEscape;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * Describes the whole plate - metadata of each non-empty well, references to images datasets,
@@ -29,8 +29,10 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.annotation.DoNotEscape;
  * @author Tomasz Pylak
  */
 @DoNotEscape
-public class PlateContent implements IsSerializable
+public class PlateContent implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     private PlateMetadata plateMetadata;
 
     private List<DatasetImagesReference> imagesDatasets;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateImageParameters.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateImageParameters.java
index 7995a4f4340a02354fdc78926564248fb2cde7ae..a4b45167a295e6f184f360af4b9c69635dead4e7 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateImageParameters.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateImageParameters.java
@@ -20,15 +20,18 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * Describes geometry of the plate and well.
  * 
  * @author Tomasz Pylak
  */
-public class PlateImageParameters implements IsSerializable
+public class PlateImageParameters implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     // dataset code for which plate parameters are valid
     private String datasetCode;
 
@@ -44,7 +47,8 @@ public class PlateImageParameters implements IsSerializable
 
     private List<String> channelsLabels;
 
-    private Map<String, String> channelsTransformerFactorySignatures = new HashMap<String, String>();
+    private Map<String, String> channelsTransformerFactorySignatures =
+            new HashMap<String, String>();
 
     // true if any well in the dataset has a time series (or depth stack) of images
     private boolean isMultidimensional;
@@ -138,7 +142,7 @@ public class PlateImageParameters implements IsSerializable
     {
         channelsTransformerFactorySignatures.put(channelCode, signatureOrNull);
     }
-    
+
     public String getTransformerFactorySignatureOrNull(String channelCode)
     {
         return channelsTransformerFactorySignatures.get(channelCode);
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateImages.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateImages.java
index d62af27f55c258bbb24d0a7efc802c59dbea82ed..223fddd039ad319418d0e3cf7d7d1fd6294c4d49 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateImages.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateImages.java
@@ -18,9 +18,9 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * Plate metadata and reference to one image dataset for the plate.
@@ -33,8 +33,11 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
  * 
  * @author Tomasz Pylak
  */
-public class PlateImages implements IsSerializable
+
+public class PlateImages implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     private PlateMetadata plateMetadata;
 
     private DatasetImagesReference imagesDataset;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateMetadata.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateMetadata.java
index adbf68879df6a1de76405f4b719cd65f1926c7a9..2980fdb26c359232bda498d6a440c6b2ff54a672 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateMetadata.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/PlateMetadata.java
@@ -18,17 +18,19 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
 import java.util.List;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * DTO with metadata of a plate and all its wells.
  * 
  * @author Tomasz Pylak
  */
-public class PlateMetadata implements IsSerializable
+public class PlateMetadata implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     private Sample plate;
 
     private List<WellMetadata> wellsMetadata;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellContent.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellContent.java
index fd174b3770cc937958169f1396262f6348331294..4ab2df6c8621a40e1a5c7f2fcc5ef05fc6e54c72 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellContent.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellContent.java
@@ -16,10 +16,10 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityReference;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * Describes the well and its location on the plate. Contains pointers to well and plate samples, a
@@ -27,8 +27,10 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material;
  * 
  * @author Tomasz Pylak
  */
-public class WellContent implements IsSerializable
+public class WellContent implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     // ------------ Metadata -----------
 
     private WellLocation locationOrNull; // null if well code was incorrect
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellFeatureVectorReference.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellFeatureVectorReference.java
index 90367869b85b4620bcad564436d21b289b580695..f9cfbcdc4b5b10eb93ea1a3492a927b73aba4737 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellFeatureVectorReference.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellFeatureVectorReference.java
@@ -16,15 +16,18 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * References a feature vector of one well
  * 
  * @author Tomasz Pylak
  */
-public class WellFeatureVectorReference implements IsSerializable
+public class WellFeatureVectorReference implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     private String dataSetCode; // dataset with feature vectors
 
     private WellLocation wellLocation;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellImageChannelStack.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellImageChannelStack.java
index bea1ffe0721b67f86c82ab273f3a07a7634d3a4c..1412394282dd43b5d391f35c6ac1d6a605404e77 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellImageChannelStack.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellImageChannelStack.java
@@ -16,7 +16,8 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * Describes one channel stack which has images for many channels and a specific tile (and
@@ -24,8 +25,10 @@ import com.google.gwt.user.client.rpc.IsSerializable;
  * 
  * @author Tomasz Pylak
  */
-public class WellImageChannelStack implements IsSerializable
+public class WellImageChannelStack implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     // technical id in the imaging db
     private long channelStackTechId;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellLocation.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellLocation.java
index fe3b0da80197a29ceeb735ec9f4f477422282f5f..6cbbf5ddf2c0022afbd4af9a08484f00dd657a82 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellLocation.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellLocation.java
@@ -16,15 +16,18 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * Describes position of the well on the plate.
  * 
  * @author Tomasz Pylak
  */
-public class WellLocation implements IsSerializable
+public class WellLocation implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     private static final int MAX_LETTER_NUMBER = getLetterNumber('Z');
 
     private int row;
@@ -63,8 +66,8 @@ public class WellLocation implements IsSerializable
         {
             throw new IllegalArgumentException("Missing row part of the location: " + locationStr);
         }
-        return parseLocationStr(locationStr.substring(0, indexOfFirstDigit), locationStr
-                .substring(indexOfFirstDigit));
+        return parseLocationStr(locationStr.substring(0, indexOfFirstDigit),
+                locationStr.substring(indexOfFirstDigit));
     }
 
     /**
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellMetadata.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellMetadata.java
index e5ea4e8db5c41c460daf5eb2504e1e162c9de822..db126ad7bb9e496da6b4256256d3b2bcad4b0273 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellMetadata.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellMetadata.java
@@ -16,9 +16,9 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto;
 
-import com.google.gwt.user.client.rpc.IsSerializable;
-
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 
 /**
  * Well's metadata: sample, the connected material and optionally the gene inhibited by this
@@ -26,8 +26,10 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
  * 
  * @author Tomasz Pylak
  */
-public class WellMetadata implements IsSerializable
+public class WellMetadata implements ISerializable
 {
+    private static final long serialVersionUID = ServiceVersionHolder.VERSION;
+
     private Sample wellSample; // with fetched properties
 
     private WellLocation locationOrNull; // null if invalid code
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellSearchCriteria.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellSearchCriteria.java
index e5606d18de129e85712feeff56c353a81bb75b92..5796ac951a81ba233dcb87f7d66aedb504d10131 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellSearchCriteria.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/basic/dto/WellSearchCriteria.java
@@ -22,6 +22,7 @@ import java.util.Arrays;
 import com.google.gwt.user.client.rpc.IsSerializable;
 
 import ch.systemsx.cisd.common.shared.basic.utils.StringUtils;
+import ch.systemsx.cisd.openbis.generic.shared.basic.ISerializable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder;
 import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.detailviewers.WellSearchGrid;
@@ -31,13 +32,12 @@ import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.d
  * 
  * @author Tomasz Pylak
  */
-public class WellSearchCriteria implements IsSerializable, Serializable
+public class WellSearchCriteria implements ISerializable
 {
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
 
     /** points to one experiment */
-    public static final class SingleExperimentSearchCriteria implements IsSerializable,
-            Serializable
+    public static final class SingleExperimentSearchCriteria implements ISerializable
     {
         private static final long serialVersionUID = ServiceVersionHolder.VERSION;