diff --git a/screening/dist/admin/create-empty-screening-db.sh b/screening/dist/admin/create-empty-screening-db.sh
new file mode 100644
index 0000000000000000000000000000000000000000..b56383d885cdfbb08d6a96011597195e38bad661
--- /dev/null
+++ b/screening/dist/admin/create-empty-screening-db.sh
@@ -0,0 +1,6 @@
+BASE=`dirname "$0"`
+if [ ${BASE#/} == ${BASE} ]; then
+    BASE="`pwd`/${BASE}"
+fi
+
+$BASE/post-install/1-create-initial-database.sh
diff --git a/screening/dist/etc/service.properties b/screening/dist/etc/service.properties
index fc093f9c5b2a4c36055b3b797ff59cc336662c33..be3a27e046689a3b53835e40df77f2f464435aea 100644
--- a/screening/dist/etc/service.properties
+++ b/screening/dist/etc/service.properties
@@ -97,7 +97,7 @@ imaging-db.password =
 # Leave empty to use the db engines defaults.
 # Used only during the first start of the server or when server is upgraded to a new version.
 imaging-db.adminUser = 
-imaging-db.adminPassword = 
+imaging-db.adminPassword =
 
 # ---------------------------------------------------------------------------
 # reporting and processing plugins configuration
@@ -191,27 +191,186 @@ import-space-code = DEMO
 
 # Comma separated names of processing threads. Each thread should have configuration properties prefixed with its name.
 # E.g. 'code-extractor' property for the thread 'my-etl' should be specified as 'my-etl.code-extractor'
-inputs=simple-dropbox
+inputs=merged-channels-images, split-channels-images, image-analysis-results
 
-# ---------------------------------------------------------------------------
-# ---------------------------------------------------------------------------
-# --- Jython dropbox for HCS images -----------------------------------------------
 # ---------------------------------------------------------------------------
 
 # The directory to watch for incoming data.
-simple-dropbox.incoming-dir = ${incoming-root-dir}/incoming-simple
-simple-dropbox.incoming-data-completeness-condition = auto-detection
+merged-channels-images.incoming-dir = ${incoming-root-dir}/incoming-images-merged-channels
+merged-channels-images.incoming-data-completeness-condition = auto-detection
 
 # The extractor class to use for code extraction
-simple-dropbox.top-level-data-set-handler = ch.systemsx.cisd.openbis.dss.etl.jython.JythonPlateDataSetHandler
-simple-dropbox.script-path = ${incoming-root-dir}/dropboxes/simple-dropbox.py
-
-simple-dropbox.storage-processor = ch.systemsx.cisd.openbis.dss.etl.PlateStorageProcessor
-simple-dropbox.storage-processor.data-source = imaging-db
-#simple-dropbox.storage-processor.file-extractor = ch.systemsx.cisd.openbis.dss.etl.jython.JythonImageFileExtractor
-simple-dropbox.storage-processor.define-channels-per-experiment = false
-# -- Should the thumbnails be generated? 
+merged-channels-images.data-set-info-extractor = ch.systemsx.cisd.etlserver.DefaultDataSetInfoExtractor
+merged-channels-images.data-set-info-extractor.entity-separator = .
+merged-channels-images.data-set-info-extractor.index-of-sample-code = 0
+merged-channels-images.data-set-info-extractor.index-of-data-producer-code = 
+merged-channels-images.data-set-info-extractor.space-code = ${import-space-code}
+
+# The extractor class to use for type extraction
+merged-channels-images.type-extractor = ch.systemsx.cisd.etlserver.SimpleTypeExtractor
+merged-channels-images.type-extractor.file-format-type = JPG
+merged-channels-images.type-extractor.locator-type = RELATIVE_LOCATION
+merged-channels-images.type-extractor.data-set-type = HCS_IMAGE_OVERVIEW
+merged-channels-images.type-extractor.is-measured = true
+
+# Note: this storage processor is able to process folders compressed with zip as well
+merged-channels-images.storage-processor = ch.systemsx.cisd.openbis.dss.etl.PlateStorageProcessor
+# How should the original data be stored? Possible values:
+#   unchanged       - nothing is changed, the default
+#   hdf5            - all the data will be packaged into one hdf5 file
+#   hdf5_compressed - like hdf5, but each file is stored in a compressed form
+merged-channels-images.storage-processor.original-data-storage-format = unchanged
+# Should the thumbnails be generated? 
 # It slows down the dataset registration, but increases the performance when the user wants to see the image. 
 # Can be 'true' or 'false', 'false' is the default value
-# simple-dropbox.storage-processor.generate-thumbnails = false
-# simple-dropbox.storage-processor.compress-thumbnails = true
+merged-channels-images.storage-processor.generate-thumbnails = false
+# Thumbnails size in pixels
+# merged-channels-images.storage-processor.thumbnail-max-width = 300
+# merged-channels-images.storage-processor.thumbnail-max-height = 200
+# Codes of the channels in which images have been acquired. Allowed characters: [A-Z0-9_-]. 
+# Number and order of entries must be consistent with 'channel-labels'.
+merged-channels-images.storage-processor.channel-codes = GFP, DAPI
+# Labels of the channels in which images have been acquired. 
+# Number and order of entries must be consistent with 'channel-codes'.
+merged-channels-images.storage-processor.channel-labels = Gfp, Dapi
+
+# Optional boolean property, true by default. 
+# Set to false to allow datasets in one experiment to use different channels.
+# In this case 'channel-codes' and 'channel-labels' become optional and are used only to determine the label for each channel code.
+# It should be set to 'false' for overlay image datasets. 
+#merged-channels-images.storage-processor.define-channels-per-experiment = false
+
+# Optional boolean property, true by default. 
+# If true an email is sent if some images for the uploaded plate are missing. 
+#merged-channels-images.storage-processor.notify-if-incomplete = false
+
+# Optional boolean property, true by default. 
+# If set to false then the dataset whcih cannot be registered will be left in the incoming folder 
+# and will be mentioned in the .faulty_paths file
+#merged-channels-images.storage-processor.move-unregistered-datasets-to-error-dir = false
+    
+# This is an optional boolean property which defines if all image datasets in one experiment have the same
+# channels or if each imported dataset can have different channels. By default true if not specified.
+#merged-channels-images.storage-processor.define-channels-per-experiment = false
+# Format: [width]>x[height], e.g. 3x4. Specifies the grid into which a microscope divided the well to acquire images.
+merged-channels-images.storage-processor.well_geometry = 3x3
+# implementation of the IHCSImageFileExtractor interface which maps images to the location on the plate and particular channel
+# Here: the extractor requireds that each image name should adhere to the schema:
+#     <any-text>_<plate-code>_<well-code>_<tile-code>_<channel-name>.<allowed-image-extension>
+merged-channels-images.storage-processor.file-extractor = ch.systemsx.cisd.openbis.dss.etl.HCSImageFileExtractor
+# specification of the imaging db
+merged-channels-images.storage-processor.data-source = imaging-db
+# Optional comma separated list of color components. 
+# Available values: RED, GREEN or BLUE. 
+# If specified then the channels are extracted from the color components and override 'file-extractor' results.
+merged-channels-images.storage-processor.extract-single-image-channels = GREEN, BLUE
+
+# ---------------------------------------------------------------------------
+
+# The directory to watch for incoming data.
+split-channels-images.incoming-dir = ${incoming-root-dir}/incoming-images-split-channels
+split-channels-images.incoming-data-completeness-condition = auto-detection
+
+# The extractor class to use for code extraction
+split-channels-images.data-set-info-extractor = ch.systemsx.cisd.etlserver.DefaultDataSetInfoExtractor
+split-channels-images.data-set-info-extractor.entity-separator = ${data-set-file-name-entity-separator}
+split-channels-images.data-set-info-extractor.index-of-sample-code = -1
+split-channels-images.data-set-info-extractor.index-of-data-producer-code = 1
+split-channels-images.data-set-info-extractor.index-of-data-production-date = 0
+split-channels-images.data-set-info-extractor.space-code = ${import-space-code}
+
+# The extractor class to use for type extraction
+split-channels-images.type-extractor = ch.systemsx.cisd.etlserver.SimpleTypeExtractor
+split-channels-images.type-extractor.file-format-type = JPG
+split-channels-images.type-extractor.locator-type = RELATIVE_LOCATION
+split-channels-images.type-extractor.data-set-type = HCS_IMAGE_OVERVIEW
+split-channels-images.type-extractor.is-measured = true
+
+split-channels-images.storage-processor = ch.systemsx.cisd.openbis.dss.etl.PlateStorageProcessor
+split-channels-images.storage-processor.generate-thumbnails = false
+# The first specified channel will be blue, the second will be green and the third will be red.
+# If there are more channels, combinations of colors will be used.
+split-channels-images.storage-processor.channel-codes = GFP, DAPI
+split-channels-images.storage-processor.channel-labels = Gfp, Dapi
+split-channels-images.storage-processor.well_geometry = 3x3
+split-channels-images.storage-processor.file-extractor = ch.systemsx.cisd.openbis.dss.etl.HCSImageFileExtractor
+split-channels-images.storage-processor.data-source = imaging-db
+
+# ---------------------------------------------------------------------------
+
+# The directory to watch for incoming data.
+image-analysis-results.incoming-dir = ${incoming-root-dir}/incoming-analysis
+image-analysis-results.incoming-data-completeness-condition = auto-detection
+
+# The extractor class to use for code extraction
+image-analysis-results.data-set-info-extractor = ch.systemsx.cisd.etlserver.DefaultDataSetInfoExtractor
+# Separator used to extract the barcode in the data set file name
+image-analysis-results.data-set-info-extractor.entity-separator = .
+image-analysis-results.data-set-info-extractor.index-of-sample-code = 0
+image-analysis-results.data-set-info-extractor.space-code = ${import-space-code}
+
+# The extractor class to use for type extraction
+image-analysis-results.type-extractor = ch.systemsx.cisd.etlserver.SimpleTypeExtractor
+image-analysis-results.type-extractor.file-format-type = CSV
+image-analysis-results.type-extractor.locator-type = RELATIVE_LOCATION
+image-analysis-results.type-extractor.data-set-type = HCS_ANALYSIS_WELL_FEATURES
+image-analysis-results.type-extractor.is-measured = false
+
+# The storage processor (IStorageProcessor implementation)
+image-analysis-results.storage-processor = ch.systemsx.cisd.openbis.dss.etl.featurevector.FeatureVectorStorageProcessor
+image-analysis-results.storage-processor.processor = ch.systemsx.cisd.etlserver.DefaultStorageProcessor
+image-analysis-results.storage-processor.data-source = imaging-db
+# semi-colon (;) by default 
+image-analysis-results.storage-processor.separator = ,
+image-analysis-results.storage-processor.ignore-comments = true
+image-analysis-results.storage-processor.well-name-row = row
+image-analysis-results.storage-processor.well-name-col = col
+image-analysis-results.storage-processor.well-name-col-is-alphanum = true
+
+# --- Example configuration of a dropbox for images which are not connected to wells on the plate
+
+# The directory to watch for incoming data.
+#microscopy-dropbox.incoming-dir = ${incoming-root-dir}/incoming-microscopy
+#microscopy-dropbox.incoming-data-completeness-condition = auto-detection
+
+# The extractor class to use for code extraction
+#microscopy-dropbox.data-set-info-extractor = ch.systemsx.cisd.etlserver.DefaultDataSetInfoExtractor
+#microscopy-dropbox.data-set-info-extractor.entity-separator = .
+#microscopy-dropbox.data-set-info-extractor.index-of-sample-code = 0
+#microscopy-dropbox.data-set-info-extractor.space-code = ${import-space-code}
+
+# The extractor class to use for type extraction
+#microscopy-dropbox.type-extractor = ch.systemsx.cisd.etlserver.SimpleTypeExtractor
+#microscopy-dropbox.type-extractor.file-format-type = TIFF
+#microscopy-dropbox.type-extractor.locator-type = RELATIVE_LOCATION
+#microscopy-dropbox.type-extractor.data-set-type = MICROSCOPY_IMAGE
+#microscopy-dropbox.type-extractor.is-measured = true
+
+#microscopy-dropbox.storage-processor = ch.systemsx.cisd.openbis.dss.etl.MicroscopyStorageProcessor
+#microscopy-dropbox.storage-processor.file-extractor = ch.systemsx.cisd.openbis.dss.etl.MicroscopyImageFileExtractor
+#microscopy-dropbox.storage-processor.data-source = imaging-db
+#microscopy-dropbox.storage-processor.channel-names = BLUE, GREEN, RED
+#microscopy-dropbox.storage-processor.well_geometry = 2x3
+#microscopy-dropbox.storage-processor.tile_mapping = 1,2,3;4,5,6
+
+# --- Microscopy dropbox with a series of images with any names ---------------------------
+
+# The directory to watch for incoming data.
+#microscopy-series-dropbox.incoming-dir = ${incoming-root-dir}/incoming-microscopy-series
+#microscopy-series-dropbox.incoming-data-completeness-condition = auto-detection
+
+# The extractor class to use for code extraction
+#microscopy-series-dropbox.data-set-info-extractor = ch.systemsx.cisd.etlserver.DefaultDataSetInfoExtractor
+#microscopy-series-dropbox.data-set-info-extractor.entity-separator = .
+#microscopy-series-dropbox.data-set-info-extractor.index-of-sample-code = 0
+#microscopy-series-dropbox.data-set-info-extractor.space-code = ${import-space-code}
+
+# The extractor class to use for type extraction
+#microscopy-series-dropbox.type-extractor = ch.systemsx.cisd.etlserver.SimpleTypeExtractor
+#microscopy-series-dropbox.type-extractor.file-format-type = TIFF
+#microscopy-series-dropbox.type-extractor.locator-type = RELATIVE_LOCATION
+#microscopy-series-dropbox.type-extractor.data-set-type = MICROSCOPY_IMAGE
+#microscopy-series-dropbox.type-extractor.is-measured = true
+
+#microscopy-series-dropbox.storage-processor = ch.systemsx.cisd.openbis.dss.etl.MicroscopyBlackboxSeriesStorageProcessor
+#microscopy-series-dropbox.storage-processor.data-source = imaging-db
diff --git a/screening/dist/installer/dss-service.properties b/screening/dist/installer/dss-service.properties
index 9e35be52ef454ed505824fcf4513bca0c41d3aa0..899e9d4950cb4df32242e17d67b4505cefb31698 100644
--- a/screening/dist/installer/dss-service.properties
+++ b/screening/dist/installer/dss-service.properties
@@ -22,3 +22,5 @@ simple-dropbox.top-level-data-set-handler = ch.systemsx.cisd.openbis.dss.etl.jyt
 simple-dropbox.script-path = ${incoming-root-dir}/dropboxes/simple-dropbox.py
 simple-dropbox.storage-processor = ch.systemsx.cisd.openbis.dss.etl.PlateStorageProcessor
 simple-dropbox.storage-processor.data-source = imaging-db
+simple-dropbox.storage-processor.define-channels-per-experiment = false
+