diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java
index 7bf7c0ec85e1c5f3f661c7ebc6cf36593805c984..e78779680fbf7fb34443422c8207f85f424fdd54 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java
@@ -30,14 +30,14 @@ import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException;
 import ch.systemsx.cisd.openbis.dss.generic.server.AbstractDssServiceRpc;
 import ch.systemsx.cisd.openbis.dss.generic.server.images.ImageChannelsUtils;
 import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider;
-import ch.systemsx.cisd.openbis.dss.screening.shared.api.IDssServiceRpcScreening;
+import ch.systemsx.cisd.openbis.dss.screening.shared.api.v1.IDssServiceRpcScreening;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.FeatureVectorDataset;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.IFeatureVectorDatasetIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.IImageDatasetIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.ImageDatasetMetadata;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.PlateImageReference;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.WellPosition;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.FeatureVectorDataset;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.IFeatureVectorDatasetIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.IImageDatasetIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.ImageDatasetMetadata;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.PlateImageReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.WellPosition;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ScreeningConstants;
 
 /**
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/shared/api/IDssServiceRpcScreening.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/shared/api/v1/IDssServiceRpcScreening.java
similarity index 80%
rename from screening/source/java/ch/systemsx/cisd/openbis/dss/screening/shared/api/IDssServiceRpcScreening.java
rename to screening/source/java/ch/systemsx/cisd/openbis/dss/screening/shared/api/v1/IDssServiceRpcScreening.java
index 0c68e4c6e7fa890a83728b17985446c52dba76ba..7b22d405c27984718251715e63c306e5000eca07 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/shared/api/IDssServiceRpcScreening.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/shared/api/v1/IDssServiceRpcScreening.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.dss.screening.shared.api;
+package ch.systemsx.cisd.openbis.dss.screening.shared.api.v1;
 
 import java.io.InputStream;
 import java.util.List;
 
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.FeatureVectorDataset;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.IFeatureVectorDatasetIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.IImageDatasetIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.ImageDatasetMetadata;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.PlateImageReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.FeatureVectorDataset;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.IFeatureVectorDatasetIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.IImageDatasetIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.ImageDatasetMetadata;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.PlateImageReference;
 
 /**
  * Public DSS API for screening. Non-compatible changes without consultation are forbidden.
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningOpenbisServiceFacade.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningOpenbisServiceFacade.java
index 87100c3d2fb4a5304737f849d3670223d843ffd1..0faf4e591150c7dda4e579bc4d874c4cc6a10b15 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningOpenbisServiceFacade.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningOpenbisServiceFacade.java
@@ -7,19 +7,19 @@ import java.util.List;
 import java.util.Map;
 
 import ch.systemsx.cisd.common.spring.HttpInvokerUtils;
-import ch.systemsx.cisd.openbis.dss.screening.shared.api.IDssServiceRpcScreening;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.IScreeningApiServer;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.FeatureVectorDataset;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.FeatureVectorDatasetReference;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.IDatasetIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.IFeatureVectorDatasetIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.IImageDatasetIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.ImageDatasetMetadata;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.ImageDatasetReference;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.Plate;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.PlateIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.PlateImageReference;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.PlateSingleImage;
+import ch.systemsx.cisd.openbis.dss.screening.shared.api.v1.IDssServiceRpcScreening;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.IScreeningApiServer;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.FeatureVectorDataset;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.FeatureVectorDatasetReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.IDatasetIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.IFeatureVectorDatasetIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.IImageDatasetIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.ImageDatasetMetadata;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.ImageDatasetReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Plate;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.PlateIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.PlateImageReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.PlateSingleImage;
 
 /**
  * A client side facade of openBIS and Datastore Server API.
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningApiServiceServer.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningApiServiceServer.java
index 29a7600ab89d1c7db83879a2b9272867f6bb83eb..b9148c7d0d5c47e574cb1998e8207428657d67b1 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningApiServiceServer.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningApiServiceServer.java
@@ -23,7 +23,7 @@ import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import ch.systemsx.cisd.openbis.plugin.screening.shared.ResourceNames;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.IScreeningApiServer;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.IScreeningApiServer;
 
 /**
  * Exposes the screening openBIS API through HTTP
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServer.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServer.java
index 47b3dfb5119774bd158b4192e977878de5856748..61464bbbc2b194a60a14dda2880ffbdf2b6595d0 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServer.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServer.java
@@ -54,12 +54,12 @@ import ch.systemsx.cisd.openbis.plugin.screening.server.logic.PlateContentLoader
 import ch.systemsx.cisd.openbis.plugin.screening.server.logic.ScreeningApiImpl;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.IScreeningServer;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.ResourceNames;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.IScreeningApiServer;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.FeatureVectorDatasetReference;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.IDatasetIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.PlateIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.ImageDatasetReference;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.Plate;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.IScreeningApiServer;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.FeatureVectorDatasetReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.IDatasetIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.ImageDatasetReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Plate;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.PlateIdentifier;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateContent;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateImages;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateSingleImageReference;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServerLogger.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServerLogger.java
index 13fb260fab05b24a68446f2e515d9bc31693269f..52cc24407709444d0f4518a5ea13c97c546c05be 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServerLogger.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServerLogger.java
@@ -34,12 +34,12 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary;
 import ch.systemsx.cisd.openbis.generic.shared.dto.Session;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifier;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.IScreeningServer;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.IScreeningApiServer;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.FeatureVectorDatasetReference;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.IDatasetIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.ImageDatasetReference;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.Plate;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.PlateIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.IScreeningApiServer;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.FeatureVectorDatasetReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.IDatasetIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.ImageDatasetReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Plate;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.PlateIdentifier;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateContent;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateImages;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.PlateSingleImageReference;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ScreeningApiImpl.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ScreeningApiImpl.java
index 7d1d8d0774c85e1fc517ca09ed5626df95b83ebb..c8b629f2ab067c83308fd7b4a88a8cf56c6f9464 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ScreeningApiImpl.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ScreeningApiImpl.java
@@ -43,12 +43,12 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleOwnerIdentif
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.translator.SampleTypeTranslator;
 import ch.systemsx.cisd.openbis.plugin.screening.server.IScreeningBusinessObjectFactory;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.DatasetIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.FeatureVectorDatasetReference;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.IDatasetIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.PlateIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.ImageDatasetReference;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.Plate;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.DatasetIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.FeatureVectorDatasetReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.IDatasetIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.ImageDatasetReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Plate;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.PlateIdentifier;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.ScreeningConstants;
 
 /**
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/authorization/ScreenerPlateValidator.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/authorization/ScreenerPlateValidator.java
index 9843aa2850ec04bd39c6aa8a3559a6023a6fb0e4..5e00b7521422c5eecddb489b65994aa7ba017020 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/authorization/ScreenerPlateValidator.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/authorization/ScreenerPlateValidator.java
@@ -6,7 +6,7 @@ import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.AbstractV
 import ch.systemsx.cisd.openbis.generic.shared.dto.GroupPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.RoleAssignmentPE;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.Plate;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Plate;
 
 /**
  * Filters only samples from the spaces to which the user has rights. This code works only in the
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/authorization/ScreenerReadonlyPlatePredicate.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/authorization/ScreenerReadonlyPlatePredicate.java
index 7505500d63e583b05a742b07384a594c811a67bd..dbb626ffdc59520d6229ff180e16d4fb164499d3 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/authorization/ScreenerReadonlyPlatePredicate.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/authorization/ScreenerReadonlyPlatePredicate.java
@@ -21,7 +21,7 @@ import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleOwn
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.DatabaseInstanceIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleOwnerIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.PlateIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.PlateIdentifier;
 
 /**
  * @author Tomasz Pylak
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/IScreeningApiServer.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/IScreeningApiServer.java
similarity index 88%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/IScreeningApiServer.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/IScreeningApiServer.java
index ecc24d346d0952227ea75e40f238d747e8876713..9635f8cbe00ad7e4158d9bdffc18d359f931bc3a 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/IScreeningApiServer.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/IScreeningApiServer.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1;
 
 import java.util.List;
 
@@ -27,11 +27,11 @@ import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAll
 import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DataSetCodePredicate;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.api.authorization.ScreenerPlateValidator;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.api.authorization.ScreenerReadonlyPlatePredicate;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.FeatureVectorDatasetReference;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.IDatasetIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.ImageDatasetReference;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.Plate;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.PlateIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.FeatureVectorDatasetReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.IDatasetIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.ImageDatasetReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Plate;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.PlateIdentifier;
 
 /**
  * This interface is a part of the official public screening API. It is forbidden to change it in a
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/DatasetIdentifier.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetIdentifier.java
similarity index 94%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/DatasetIdentifier.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetIdentifier.java
index 3a666695f78fc034ece538559c871aabea640b85..727331fad149d5d2b1b9cc5ed70fa70c35be2f21 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/DatasetIdentifier.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetIdentifier.java
@@ -1,4 +1,4 @@
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 import java.io.Serializable;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/DatasetReference.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetReference.java
similarity index 91%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/DatasetReference.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetReference.java
index a46585ae7a796951c6595b0da4676c60c32bda2f..4b77fe435f869406d33152951328749ecdb325fd 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/DatasetReference.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/DatasetReference.java
@@ -1,4 +1,4 @@
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 import java.io.Serializable;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/FeatureVector.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVector.java
similarity index 90%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/FeatureVector.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVector.java
index a7aa520f53955b4574c181d11d1a01a30d69043a..6d35e3a512b9c0e4f4c929e797786fd2132708d8 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/FeatureVector.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVector.java
@@ -1,4 +1,4 @@
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 import java.io.Serializable;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/FeatureVectorDataset.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVectorDataset.java
similarity index 80%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/FeatureVectorDataset.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVectorDataset.java
index 65b5dc1143f97ccaccaba7ee8a4b57bbe0de1b95..5dfde08b5ffc2555f7fa1376b92acdf1e9a9ef64 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/FeatureVectorDataset.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVectorDataset.java
@@ -1,4 +1,4 @@
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 import java.io.Serializable;
 import java.util.List;
@@ -12,13 +12,13 @@ public class FeatureVectorDataset implements Serializable
 {
     private static final long serialVersionUID = 1L;
 
-    private final IDatasetIdentifier dataset;
+    private final IFeatureVectorDatasetIdentifier dataset;
 
     private final List<String> featureNames;
 
     private final List<FeatureVector> featureVectors;
 
-    public FeatureVectorDataset(IDatasetIdentifier dataset, List<String> featureNames,
+    public FeatureVectorDataset(IFeatureVectorDatasetIdentifier dataset, List<String> featureNames,
             List<FeatureVector> featureVectors)
     {
         this.dataset = dataset;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/FeatureVectorDatasetReference.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVectorDatasetReference.java
similarity index 93%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/FeatureVectorDatasetReference.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVectorDatasetReference.java
index ca950190a66361aeafd90f9c218181d424c8b6e1..3dcdc208943c4a5719af4868156907c0865213d9 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/FeatureVectorDatasetReference.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/FeatureVectorDatasetReference.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 /**
  * Description of one feature vector dataset.
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/IDatasetIdentifier.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IDatasetIdentifier.java
similarity index 93%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/IDatasetIdentifier.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IDatasetIdentifier.java
index f6d5c2a908da97c2479fdf50cfadd6530f7314d9..dc9702c0088b0096bc44b06dc5b1da7445c2fd60 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/IDatasetIdentifier.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IDatasetIdentifier.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 /**
  * Contains data which uniquely define a dataset
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/IFeatureVectorDatasetIdentifier.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IFeatureVectorDatasetIdentifier.java
similarity index 91%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/IFeatureVectorDatasetIdentifier.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IFeatureVectorDatasetIdentifier.java
index 9747dce82ca32276672cfe91024b8076501e98c4..871f95de3864c297c96b80bfe1cae5b912a8e3c6 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/IFeatureVectorDatasetIdentifier.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IFeatureVectorDatasetIdentifier.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 /**
  * Contains data which uniquely define a feature vector dataset.
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/IImageDatasetIdentifier.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IImageDatasetIdentifier.java
similarity index 91%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/IImageDatasetIdentifier.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IImageDatasetIdentifier.java
index 093d1a4d70c87a7ce60752f7e6bd51229110c1ee..75cc81382633d5e7e800f2ed1fe80f3287a64d02 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/IImageDatasetIdentifier.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/IImageDatasetIdentifier.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 /**
  * Contains data which uniquely define an image dataset.
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/ImageDatasetMetadata.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageDatasetMetadata.java
similarity index 95%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/ImageDatasetMetadata.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageDatasetMetadata.java
index b8e7d956f1c0b5a57aa8b7940a181fb261354719..1cdc570a532018cb41af1f0b74d4b167542170e9 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/ImageDatasetMetadata.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageDatasetMetadata.java
@@ -1,4 +1,4 @@
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 import java.io.Serializable;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/ImageDatasetReference.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageDatasetReference.java
similarity index 93%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/ImageDatasetReference.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageDatasetReference.java
index 735ed66f9f47c5a0d76271c8fd700bcbda41de84..f12d8ed52148422f58902a5cf84bc525ea75b971 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/ImageDatasetReference.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageDatasetReference.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 /**
  * Description of one image dataset.
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/Plate.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/Plate.java
similarity index 92%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/Plate.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/Plate.java
index ed8ff9e3ef337dbbcf69daba100a1b9c7356f580..3b4adf06a92f2f4639c03efdefbfedcae78bfd79 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/Plate.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/Plate.java
@@ -1,4 +1,4 @@
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 import java.io.Serializable;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/PlateIdentifier.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/PlateIdentifier.java
similarity index 94%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/PlateIdentifier.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/PlateIdentifier.java
index 9d82e988d3145595c46b6cc51832f3b1576040db..a0d26bcd0728e026666696fbfeefe60f40f170f3 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/PlateIdentifier.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/PlateIdentifier.java
@@ -1,4 +1,4 @@
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 import java.io.Serializable;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/PlateImageReference.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/PlateImageReference.java
similarity index 80%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/PlateImageReference.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/PlateImageReference.java
index c817c0f35e3e4c8d5020d3a31d4c03a8cef00ccf..b91b6da64a3c48cf03cf6a6913ee2c4f7206aa73 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/PlateImageReference.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/PlateImageReference.java
@@ -1,4 +1,4 @@
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 import java.io.Serializable;
 
@@ -17,6 +17,11 @@ public class PlateImageReference extends DatasetIdentifier implements Serializab
 
     private final int channel;
 
+    /**
+     * @param dataset if image dataset is specified, image will be fetched from it. If a feature
+     *            vector dataset is specified, a connected image dataset will be found and image
+     *            will be fetched from it.
+     */
     public PlateImageReference(int wellRow, int wellColumn, int tile, int channel,
             IDatasetIdentifier dataset)
     {
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/PlateSingleImage.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/PlateSingleImage.java
similarity index 84%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/PlateSingleImage.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/PlateSingleImage.java
index e42e73bbd5f6783dced44468a4723fb94f83b1fb..1c34be646cb4346f71f60dd523906f6a421fc8ca 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/PlateSingleImage.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/PlateSingleImage.java
@@ -1,4 +1,4 @@
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 import java.io.InputStream;
 import java.io.Serializable;
@@ -49,4 +49,11 @@ public class PlateSingleImage implements Serializable
     {
         return image;
     }
+
+    /** The dataset which has been specified to fetched the image. */
+    public IDatasetIdentifier getDataset()
+    {
+        return imageReference;
+    }
+
 }
\ No newline at end of file
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/WellPosition.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/WellPosition.java
similarity index 91%
rename from screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/WellPosition.java
rename to screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/WellPosition.java
index 794725176723a85173f5ee96d280c280d0b65795..178943750203e08632352f2eb429e1ac348c51b4 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/dto/WellPosition.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/WellPosition.java
@@ -1,4 +1,4 @@
-package ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto;
+package ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto;
 
 import java.io.Serializable;
 
diff --git a/screening/source/java/screening-dssApplicationContext.xml b/screening/source/java/screening-dssApplicationContext.xml
index 1342c06b707512efd8973aabcfafa2d0ce331a5c..42ff1a64d86c9180cffc182adadd4cd158d4160e 100644
--- a/screening/source/java/screening-dssApplicationContext.xml
+++ b/screening/source/java/screening-dssApplicationContext.xml
@@ -29,7 +29,7 @@
                <constructor-arg value="${storeroot-dir}" />
             </bean>
         </property>
-        <property name="serviceInterface" value="ch.systemsx.cisd.openbis.dss.screening.shared.api.IDssServiceRpcScreening" />
+        <property name="serviceInterface" value="ch.systemsx.cisd.openbis.dss.screening.shared.api.v1.IDssServiceRpcScreening" />
     </bean>
         
     
diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/ScreeningClientApiTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/ScreeningClientApiTest.java
index 2e3a6217b8d1638301293a109864cbefe45b79ae..d4433a03e33de79dcde029c3e15b1368762f2af6 100644
--- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/ScreeningClientApiTest.java
+++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/ScreeningClientApiTest.java
@@ -28,10 +28,10 @@ import java.util.List;
 import org.apache.log4j.lf5.util.StreamUtils;
 
 import ch.systemsx.cisd.openbis.plugin.screening.client.api.v1.ScreeningOpenbisServiceFacade;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.IDatasetIdentifier;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.PlateImageReference;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.PlateSingleImage;
-import ch.systemsx.cisd.openbis.plugin.screening.shared.api.dto.WellPosition;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.IDatasetIdentifier;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.PlateImageReference;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.PlateSingleImage;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.WellPosition;
 
 /**
  * @author Tomasz Pylak