diff --git a/Femto-DS/Femto.py b/Femto-DS/Femto.py
deleted file mode 100644
index 8ef471941b92d8b7fefb855883288a6f867df532..0000000000000000000000000000000000000000
--- a/Femto-DS/Femto.py
+++ /dev/null
@@ -1,305 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# This file is part of the Femto project
-#
-#
-#
-# Distributed under the terms of the APACHE license.
-# See LICENSE.txt for more info.
-
-""" LOFAR2.0 Station Software
-
-Implementation of a Tango device on top of an existing OPC-UA server in Python3.
-"""
-
-# PyTango imports
-import tango
-from tango import DebugIt
-from tango.server import run
-from tango.server import Device
-from tango.server import attribute, command, pipe
-from tango.server import device_property
-from tango import AttrQuality, DispLevel, DevState
-from tango import AttrWriteType, PipeWriteType
-# Additional import
-# PROTECTED REGION ID(Femto.additionnal_import) ENABLED START #
-from opcua import Client
-import numpy
-import traceback
-# PROTECTED REGION END #    //  Femto.additionnal_import
-
-__all__ = ["Femto", "main"]
-
-
-class Femto(Device):
-    """
-    Implementation of a Tango device on top of an existing OPC-UA server in Python3.
-
-    **Properties:**
-
-    - Device Property
-        OPC_Server_Name
-            - Type:'DevString'
-        OPC_Server_Port
-            - Type:'DevULong'
-        OPC_time_out
-            - Type:'DevULong'
-    """
-    # PROTECTED REGION ID(Femto.class_variable) ENABLED START #
-    # PROTECTED REGION END #    //  Femto.class_variable
-
-    # -----------------
-    # Device Properties
-    # -----------------
-
-    OPC_Server_Name = device_property(
-        dtype='DevString',
-        default_value="okeanos"
-    )
-
-    OPC_Server_Port = device_property(
-        dtype='DevULong',
-        default_value=55555
-    )
-
-    OPC_time_out = device_property(
-        dtype='DevULong',
-        default_value=1000
-    )
-
-    # ----------
-    # Attributes
-    # ----------
-
-    end_freq = attribute(
-        dtype='DevDouble',
-    )
-
-    error = attribute(
-        dtype='DevString',
-    )
-
-    obs_id = attribute(
-        dtype='DevLong64',
-    )
-
-    rcu = attribute(
-        dtype='DevLong64',
-    )
-
-    rcumode = attribute(
-        dtype='DevLong64',
-    )
-
-    start_freq = attribute(
-        dtype='DevDouble',
-    )
-
-    timestamp = attribute(
-        dtype='DevDouble',
-    )
-
-    average_spectrum = attribute(
-        dtype=('DevDouble',),
-        max_dim_x=10240,
-    )
-
-    spectrum = attribute(
-        dtype=('DevDouble',),
-        max_dim_x=10240,
-    )
-
-    # -----
-    # Pipes
-    # -----
-
-    spectrum_pipe = pipe(
-    )
-    average_spectrum_pipe = pipe(
-    )
-
-    # ---------------
-    # General methods
-    # ---------------
-
-    def init_device(self):
-        """Initialises the attributes and properties of the Femto."""
-        Device.init_device(self)
-        # PROTECTED REGION ID(Femto.init_device) ENABLED START #
-        try:
-            self.client = Client("opc.tcp://{}:{}/".format(self.OPC_Server_Name, self.OPC_Server_Port), self.OPC_time_out)
-            self.client.connect()
-            self.client.load_type_definitions()
-            objects = self.client.get_objects_node()
-            idx = self.client.get_namespace_index("http://lofar.eu")
-
-            # Now getting a variable nodes using their browse path
-            self.MP = {}
-
-            self.MP["RCU_error_spectra"] = self.client.get_root_node().get_child(["0:Objects",
-                "{}:FEMTO".format(idx),
-                "{}:RCU_error_spectra".format(idx)])
-
-            self.MP["end_freq"] = self.client.get_root_node().get_child(["0:Objects",
-                "{}:FEMTO".format(idx),
-                "{}:RCU_error_spectra".format(idx),
-                "{}:end_freq".format(idx)])
-
-            self.MP["start_freq"] = self.client.get_root_node().get_child(["0:Objects",
-                "{}:FEMTO".format(idx),
-                "{}:RCU_error_spectra".format(idx),
-                "{}:start_freq".format(idx)])
-
-            self.MP["timestamp"] = self.client.get_root_node().get_child(["0:Objects",
-                "{}:FEMTO".format(idx),
-                "{}:RCU_error_spectra".format(idx),
-                "{}:timestamp".format(idx)])
-
-            self.MP["rcu"] = self.client.get_root_node().get_child(["0:Objects",
-                "{}:FEMTO".format(idx),
-                "{}:RCU_error_spectra".format(idx),
-                "{}:rcu".format(idx)])
-
-            self.MP["rcumode"] = self.client.get_root_node().get_child(["0:Objects",
-                "{}:FEMTO".format(idx),
-                "{}:RCU_error_spectra".format(idx),
-                "{}:rcumode".format(idx)])
-
-            self.MP["error"] = self.client.get_root_node().get_child(["0:Objects",
-                "{}:FEMTO".format(idx),
-                "{}:RCU_error_spectra".format(idx),
-                "{}:error".format(idx)])
-
-            self.MP["spectrum"] = self.client.get_root_node().get_child(["0:Objects",
-                "{}:FEMTO".format(idx),
-                "{}:RCU_error_spectra".format(idx),
-                "{}:spectrum".format(idx)])
-
-            self.MP["average_spectrum"] = self.client.get_root_node().get_child(["0:Objects",
-                "{}:FEMTO".format(idx),
-                "{}:RCU_error_spectra".format(idx),
-                "{}:average_spectrum".format(idx)])
-
-            print("Connected to the OPC-UA server %s" % (self.OPC_Server_Name))
-        except Exception as e:
-            print("Failed to connect to the OPC-UA server %s.  Trace:  %s" % (self.OPC_Server_Name, traceback.format_exc()))
-            self.delete_device()
-            raise e
-        # PROTECTED REGION END #    //  Femto.init_device
-
-    def always_executed_hook(self):
-        """Method always executed before any TANGO command is executed."""
-        # PROTECTED REGION ID(Femto.always_executed_hook) ENABLED START #
-        # PROTECTED REGION END #    //  Femto.always_executed_hook
-
-    def delete_device(self):
-        """Hook to delete resources allocated in init_device.
-
-        This method allows for any memory or other resources allocated in the
-        init_device method to be released.  This method is called by the device
-        destructor and by the device Init command.
-        """
-        # PROTECTED REGION ID(Femto.delete_device) ENABLED START #
-        if self.client is not Null:
-            self.client.close_session()
-            self.client.close_secure_channel()
-        # PROTECTED REGION END #    //  Femto.delete_device
-    # ------------------
-    # Attributes methods
-    # ------------------
-
-    def read_end_freq(self):
-        # PROTECTED REGION ID(Femto.end_freq_read) ENABLED START #
-        """Return the end_freq attribute."""
-        self._end_freq = self.MP["end_freq"].get_value()
-        return self._end_freq
-        # PROTECTED REGION END #    //  Femto.end_freq_read
-
-    def read_error(self):
-        # PROTECTED REGION ID(Femto.error_read) ENABLED START #
-        """Return the error attribute."""
-        self._error = self.MP["error"].get_value()
-        return self._error
-        # PROTECTED REGION END #    //  Femto.error_read
-
-    def read_obs_id(self):
-        # PROTECTED REGION ID(Femto.obs_id_read) ENABLED START #
-        """Return the obs_id attribute."""
-        self._obs_id = self.MP["obs_id"].get_value()
-        return self._obs_id
-        # PROTECTED REGION END #    //  Femto.obs_id_read
-
-    def read_rcu(self):
-        # PROTECTED REGION ID(Femto.rcu_read) ENABLED START #
-        """Return the rcu attribute."""
-        self._rcu = self.MP["rcu"].get_value()
-        return self._rcu
-        # PROTECTED REGION END #    //  Femto.rcu_read
-
-    def read_rcumode(self):
-        # PROTECTED REGION ID(Femto.rcumode_read) ENABLED START #
-        """Return the rcumode attribute."""
-        self._rcumode = self.MP["rcumode"].get_value()
-        return self._rcumode
-        # PROTECTED REGION END #    //  Femto.rcumode_read
-
-    def read_start_freq(self):
-        # PROTECTED REGION ID(Femto.start_freq_read) ENABLED START #
-        """Return the start_freq attribute."""
-        self._start_freq = self.MP["start_freq"].get_value()
-        return self._start_freq
-        # PROTECTED REGION END #    //  Femto.start_freq_read
-
-    def read_timestamp(self):
-        # PROTECTED REGION ID(Femto.timestamp_read) ENABLED START #
-        """Return the timestamp attribute."""
-        self._timestamp = self.MP["timestamp"].get_value()
-        return self._timestamp
-        # PROTECTED REGION END #    //  Femto.timestamp_read
-
-    def read_average_spectrum(self):
-        # PROTECTED REGION ID(Femto.average_spectrum_read) ENABLED START #
-        """Return the average_spectrum attribute."""
-        self._average_spectrum = self.MP["average_spectrum"].get_value()
-        return self._average_spectrum
-        # PROTECTED REGION END #    //  Femto.average_spectrum_read
-
-    def read_spectrum(self):
-        # PROTECTED REGION ID(Femto.spectrum_read) ENABLED START #
-        """Return the spectrum attribute."""
-        self._spectrum = self.MP["spectrum"].get_value()
-        return self._spectrum
-        # PROTECTED REGION END #    //  Femto.spectrum_read
-
-    # -------------
-    # Pipes methods
-    # -------------
-
-    def read_spectrum_pipe(self):
-        # PROTECTED REGION ID(Femto.spectrum_pipe_read) ENABLED START #
-        return dict(x=0, y=0)
-        # PROTECTED REGION END #    //  Femto.spectrum_pipe_read
-
-    def read_average_spectrum_pipe(self):
-        # PROTECTED REGION ID(Femto.average_spectrum_pipe_read) ENABLED START #
-        return dict(x=0, y=0)
-        # PROTECTED REGION END #    //  Femto.average_spectrum_pipe_read
-
-    # --------
-    # Commands
-    # --------
-
-# ----------
-# Run server
-# ----------
-
-
-def main(args=None, **kwargs):
-    """Main function of the Femto module."""
-    # PROTECTED REGION ID(Femto.main) ENABLED START #
-    return run((Femto,), args=args, **kwargs)
-    # PROTECTED REGION END #    //  Femto.main
-
-
-if __name__ == '__main__':
-    main()
diff --git a/Femto-DS/Femto.xmi b/Femto-DS/Femto.xmi
deleted file mode 100644
index 8bfb04a22ce36c70a6874b47062fda308d6b2804..0000000000000000000000000000000000000000
--- a/Femto-DS/Femto.xmi
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl">
-  <classes name="Femto" pogoRevision="9.6">
-    <description description="Implementation of a Tango device on top of an existing OPC-UA server in Python3." title="LOFAR2.0 Station Software" sourcePath="/opt/tango/Femto-DS" language="PythonHL" filestogenerate="XMI   file,Code files,Protected Regions" license="APACHE" copyright="" hasMandatoryProperty="false" hasConcreteProperty="true" hasAbstractCommand="false" hasAbstractAttribute="false">
-      <inheritances classname="Device_Impl" sourcePath=""/>
-      <identification contact="at astron.nl - jurges" author="jurges" emailDomain="astron.nl" classFamily="OtherInstruments" siteSpecific="" platform="Unix Like" bus="Not Applicable" manufacturer="none" reference=""/>
-    </description>
-    <deviceProperties name="OPC_Server_Name" description="">
-      <type xsi:type="pogoDsl:StringType"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <DefaultPropValue>okeanos</DefaultPropValue>
-    </deviceProperties>
-    <deviceProperties name="OPC_Server_Port" description="">
-      <type xsi:type="pogoDsl:UIntType"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <DefaultPropValue>55555</DefaultPropValue>
-    </deviceProperties>
-    <deviceProperties name="OPC_time_out" description="">
-      <type xsi:type="pogoDsl:UIntType"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <DefaultPropValue>1000</DefaultPropValue>
-    </deviceProperties>
-    <commands name="State" description="This command gets the device state (stored in its device_state data member) and returns it to the caller." execMethod="dev_state" displayLevel="OPERATOR" polledPeriod="0">
-      <argin description="none">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="Device state">
-        <type xsi:type="pogoDsl:StateType"/>
-      </argout>
-      <status abstract="true" inherited="true" concrete="true"/>
-    </commands>
-    <commands name="Status" description="This command gets the device status (stored in its device_status data member) and returns it to the caller." execMethod="dev_status" displayLevel="OPERATOR" polledPeriod="0">
-      <argin description="none">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="Device status">
-        <type xsi:type="pogoDsl:ConstStringType"/>
-      </argout>
-      <status abstract="true" inherited="true" concrete="true"/>
-    </commands>
-    <attributes name="end_freq" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-    </attributes>
-    <attributes name="error" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:StringType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-    </attributes>
-    <attributes name="obs_id" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:LongType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-    </attributes>
-    <attributes name="rcu" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:LongType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-    </attributes>
-    <attributes name="rcumode" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:LongType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-    </attributes>
-    <attributes name="start_freq" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-    </attributes>
-    <attributes name="timestamp" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-    </attributes>
-    <attributes name="average_spectrum" attType="Spectrum" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="10240" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-    </attributes>
-    <attributes name="spectrum" attType="Spectrum" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="10240" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-    </attributes>
-    <pipes name="spectrum_pipe" description="" label="" rwType="READ" displayLevel="OPERATOR"/>
-    <pipes name="average_spectrum_pipe" description="" label="" rwType="READ" displayLevel="OPERATOR"/>
-    <states name="ON" description="">
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </states>
-    <states name="OFF" description="">
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </states>
-    <states name="INIT" description="">
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </states>
-    <states name="FAULT" description="">
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </states>
-    <states name="ALARM" description="">
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </states>
-    <states name="STANDBY" description="">
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </states>
-    <preferences docHome="./doc_html" makefileHome="/usr/local/share/pogo/preferences"/>
-  </classes>
-</pogoDsl:PogoSystem>
diff --git a/Femto-DS/requirements.txt b/Femto-DS/requirements.txt
deleted file mode 100644
index 3b3b3b08bb560cfbe4fed2e7c7a0241f02f0af24..0000000000000000000000000000000000000000
--- a/Femto-DS/requirements.txt
+++ /dev/null
@@ -1 +0,0 @@
-opcua >= 0.98.9
diff --git a/RandomData-DS/RandomData.py b/RandomData-DS/RandomData.py
deleted file mode 100644
index 3dba07db2ae3d26b09472c4cc7e259f0bf718dd8..0000000000000000000000000000000000000000
--- a/RandomData-DS/RandomData.py
+++ /dev/null
@@ -1,627 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# This file is part of the RandomData project
-#
-#
-#
-# Distributed under the terms of the APACHE license.
-# See LICENSE.txt for more info.
-
-""" Random data monitor point device
-
-"""
-
-# PyTango imports
-import tango
-from tango import DebugIt
-from tango.server import run
-from tango.server import Device
-from tango.server import attribute, command
-from tango import AttrQuality, DispLevel, DevState
-from tango import AttrWriteType, PipeWriteType
-# Additional import
-# PROTECTED REGION ID(RandomData.additionnal_import) ENABLED START #
-from numpy import random
-# PROTECTED REGION END #    //  RandomData.additionnal_import
-
-__all__ = ["RandomData", "main"]
-
-
-class RandomData(Device):
-    """
-    """
-    # PROTECTED REGION ID(RandomData.class_variable) ENABLED START #
-    # PROTECTED REGION END #    //  RandomData.class_variable
-
-    # ----------
-    # Attributes
-    # ----------
-
-    rnd1 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd2 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd3 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd4 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd5 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd6 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd7 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd8 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd9 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd10 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd11 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd12 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd13 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd14 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd15 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd16 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd17 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd18 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd19 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    rnd20 = attribute(
-        dtype='DevDouble',
-        polling_period=100,
-        period=1000,
-        rel_change=1,
-        abs_change=0.01,
-        archive_period=1000,
-        archive_rel_change=1,
-        archive_abs_change=0.01,
-        max_value=1.0,
-        min_value=0.0,
-        max_alarm=1.0,
-        min_alarm=0.9,
-        max_warning=0.9,
-        min_warning=0.75,
-        delta_t=100,
-        delta_val=0.01,
-    )
-
-    # ---------------
-    # General methods
-    # ---------------
-
-    def init_device(self):
-        """Initialises the attributes and properties of the RandomData."""
-        Device.init_device(self)
-        self.rnd1.set_data_ready_event(True)
-        self.set_change_event("rnd1", True, True)
-        self.set_archive_event("rnd1", True, True)
-        self.rnd2.set_data_ready_event(True)
-        self.set_change_event("rnd2", True, True)
-        self.set_archive_event("rnd2", True, True)
-        self.rnd3.set_data_ready_event(True)
-        self.set_change_event("rnd3", True, True)
-        self.set_archive_event("rnd3", True, True)
-        self.rnd4.set_data_ready_event(True)
-        self.set_change_event("rnd4", True, True)
-        self.set_archive_event("rnd4", True, True)
-        self.rnd5.set_data_ready_event(True)
-        self.set_change_event("rnd5", True, True)
-        self.set_archive_event("rnd5", True, True)
-        self.rnd6.set_data_ready_event(True)
-        self.set_change_event("rnd6", True, True)
-        self.set_archive_event("rnd6", True, True)
-        self.rnd7.set_data_ready_event(True)
-        self.set_change_event("rnd7", True, True)
-        self.set_archive_event("rnd7", True, True)
-        self.rnd8.set_data_ready_event(True)
-        self.set_change_event("rnd8", True, True)
-        self.set_archive_event("rnd8", True, True)
-        self.rnd9.set_data_ready_event(True)
-        self.set_change_event("rnd9", True, True)
-        self.set_archive_event("rnd9", True, True)
-        self.rnd10.set_data_ready_event(True)
-        self.set_change_event("rnd10", True, True)
-        self.set_archive_event("rnd10", True, True)
-        self.rnd11.set_data_ready_event(True)
-        self.set_change_event("rnd11", True, True)
-        self.set_archive_event("rnd11", True, True)
-        self.rnd12.set_data_ready_event(True)
-        self.set_change_event("rnd12", True, True)
-        self.set_archive_event("rnd12", True, True)
-        self.rnd13.set_data_ready_event(True)
-        self.set_change_event("rnd13", True, True)
-        self.set_archive_event("rnd13", True, True)
-        self.rnd14.set_data_ready_event(True)
-        self.set_change_event("rnd14", True, True)
-        self.set_archive_event("rnd14", True, True)
-        self.rnd15.set_data_ready_event(True)
-        self.set_change_event("rnd15", True, True)
-        self.set_archive_event("rnd15", True, True)
-        self.rnd16.set_data_ready_event(True)
-        self.set_change_event("rnd16", True, True)
-        self.set_archive_event("rnd16", True, True)
-        self.rnd17.set_data_ready_event(True)
-        self.set_change_event("rnd17", True, True)
-        self.set_archive_event("rnd17", True, True)
-        self.rnd18.set_data_ready_event(True)
-        self.set_change_event("rnd18", True, True)
-        self.set_archive_event("rnd18", True, True)
-        self.rnd19.set_data_ready_event(True)
-        self.set_change_event("rnd19", True, True)
-        self.set_archive_event("rnd19", True, True)
-        self.rnd20.set_data_ready_event(True)
-        self.set_change_event("rnd20", True, True)
-        self.set_archive_event("rnd20", True, True)
-        # PROTECTED REGION ID(RandomData.init_device) ENABLED START #
-        # PROTECTED REGION END #    //  RandomData.init_device
-
-    def always_executed_hook(self):
-        """Method always executed before any TANGO command is executed."""
-        # PROTECTED REGION ID(RandomData.always_executed_hook) ENABLED START #
-        pass
-        # PROTECTED REGION END #    //  RandomData.always_executed_hook
-
-    def delete_device(self):
-        """Hook to delete resources allocated in init_device.
-
-        This method allows for any memory or other resources allocated in the
-        init_device method to be released.  This method is called by the device
-        destructor and by the device Init command.
-        """
-        # PROTECTED REGION ID(RandomData.delete_device) ENABLED START #
-        pass
-        # PROTECTED REGION END #    //  RandomData.delete_device
-    # ------------------
-    # Attributes methods
-    # ------------------
-
-    def read_rnd1(self):
-        # PROTECTED REGION ID(RandomData.rnd1_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd1_read
-
-    def read_rnd2(self):
-        # PROTECTED REGION ID(RandomData.rnd2_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd2_read
-
-    def read_rnd3(self):
-        # PROTECTED REGION ID(RandomData.rnd3_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd3_read
-
-    def read_rnd4(self):
-        # PROTECTED REGION ID(RandomData.rnd4_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd4_read
-
-    def read_rnd5(self):
-        # PROTECTED REGION ID(RandomData.rnd5_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd5_read
-
-    def read_rnd6(self):
-        # PROTECTED REGION ID(RandomData.rnd6_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd6_read
-
-    def read_rnd7(self):
-        # PROTECTED REGION ID(RandomData.rnd7_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd7_read
-
-    def read_rnd8(self):
-        # PROTECTED REGION ID(RandomData.rnd8_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd8_read
-
-    def read_rnd9(self):
-        # PROTECTED REGION ID(RandomData.rnd9_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd9_read
-
-    def read_rnd10(self):
-        # PROTECTED REGION ID(RandomData.rnd10_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd10_read
-
-    def read_rnd11(self):
-        # PROTECTED REGION ID(RandomData.rnd11_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd11_read
-
-    def read_rnd12(self):
-        # PROTECTED REGION ID(RandomData.rnd12_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd12_read
-
-    def read_rnd13(self):
-        # PROTECTED REGION ID(RandomData.rnd13_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd13_read
-
-    def read_rnd14(self):
-        # PROTECTED REGION ID(RandomData.rnd14_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd14_read
-
-    def read_rnd15(self):
-        # PROTECTED REGION ID(RandomData.rnd15_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd15_read
-
-    def read_rnd16(self):
-        # PROTECTED REGION ID(RandomData.rnd16_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd16_read
-
-    def read_rnd17(self):
-        # PROTECTED REGION ID(RandomData.rnd17_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd17_read
-
-    def read_rnd18(self):
-        # PROTECTED REGION ID(RandomData.rnd18_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd18_read
-
-    def read_rnd19(self):
-        # PROTECTED REGION ID(RandomData.rnd19_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd19_read
-
-    def read_rnd20(self):
-        # PROTECTED REGION ID(RandomData.rnd20_read) ENABLED START #
-        return random.random()
-        # PROTECTED REGION END #    //  RandomData.rnd20_read
-
-    # --------
-    # Commands
-    # --------
-
-# ----------
-# Run server
-# ----------
-
-
-def main(args=None, **kwargs):
-    """Main function of the RandomData module."""
-    # PROTECTED REGION ID(RandomData.main) ENABLED START #
-    return run((RandomData,), args=args, **kwargs)
-    # PROTECTED REGION END #    //  RandomData.main
-
-
-if __name__ == '__main__':
-    main()
diff --git a/RandomData-DS/RandomData.xmi b/RandomData-DS/RandomData.xmi
deleted file mode 100644
index 99d123b2071b025cb79710881ec077b13281c0d9..0000000000000000000000000000000000000000
--- a/RandomData-DS/RandomData.xmi
+++ /dev/null
@@ -1,228 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl">
-  <classes name="RandomData" pogoRevision="9.6">
-    <description description="" title="Random data monitor point device" sourcePath="/hosthome/workspace.astron/git/tango/RandomData-DS" language="PythonHL" filestogenerate="XMI   file,Code files,Protected Regions" license="APACHE" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false">
-      <inheritances classname="Device_Impl" sourcePath=""/>
-      <identification contact="at astron.nl - jurges" author="jurges" emailDomain="astron.nl" classFamily="Simulators" siteSpecific="" platform="Unix Like" bus="Not Applicable" manufacturer="ASTRON" reference=""/>
-    </description>
-    <commands name="State" description="This command gets the device state (stored in its device_state data member) and returns it to the caller." execMethod="dev_state" displayLevel="OPERATOR" polledPeriod="0">
-      <argin description="none">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="Device state">
-        <type xsi:type="pogoDsl:StateType"/>
-      </argout>
-      <status abstract="true" inherited="true" concrete="true"/>
-    </commands>
-    <commands name="Status" description="This command gets the device status (stored in its device_status data member) and returns it to the caller." execMethod="dev_status" displayLevel="OPERATOR" polledPeriod="0">
-      <argin description="none">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="Device status">
-        <type xsi:type="pogoDsl:ConstStringType"/>
-      </argout>
-      <status abstract="true" inherited="true" concrete="true"/>
-    </commands>
-    <attributes name="rnd1" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd2" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd3" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd4" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd5" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd6" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd7" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd8" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd9" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd10" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd11" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd12" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd13" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd14" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd15" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd16" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd17" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd18" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd19" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <attributes name="rnd20" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="true" libCheckCriteria="true"/>
-      <archiveEvent fire="true" libCheckCriteria="true"/>
-      <dataReadyEvent fire="true" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
-      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
-      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
-    </attributes>
-    <preferences docHome="./doc_html" makefileHome="/usr/local/share/pogo/preferences"/>
-  </classes>
-</pogoDsl:PogoSystem>
diff --git a/StatsCrosslet-DS/StatsCrosslet.py b/StatsCrosslet-DS/StatsCrosslet.py
deleted file mode 100644
index abf6ce3856475cdf30372d9edcb4461daaab40d2..0000000000000000000000000000000000000000
--- a/StatsCrosslet-DS/StatsCrosslet.py
+++ /dev/null
@@ -1,402 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# This file is part of the StatsCrosslet project
-#
-#
-#
-# Distributed under the terms of the APACHE license.
-# See LICENSE.txt for more info.
-
-""" OPC-UA client for LOFAR stations crosslet stats
-
-"""
-
-# PyTango imports
-import tango
-from tango import DebugIt
-from tango.server import run
-from tango.server import Device
-from tango.server import attribute, command
-from tango.server import device_property
-from tango import AttrQuality, DispLevel, DevState
-from tango import AttrWriteType, PipeWriteType
-# Additional import
-# PROTECTED REGION ID(StatsCrosslet.additionnal_import) ENABLED START #
-import opcua
-import numpy
-import traceback
-import threading
-from datetime import datetime
-# PROTECTED REGION END #    //  StatsCrosslet.additionnal_import
-
-__all__ = ["StatsCrosslet", "main"]
-
-
-class StatsCrosslet(Device):
-    """
-
-    **Properties:**
-
-    - Device Property
-        OPC_Server_Name
-            - Type:'DevString'
-        OPC_Server_Port
-            - Type:'DevULong'
-        OPC_Time_out
-            - Type:'DevDouble'
-        Default_pause_time
-            - Type:'DevDouble'
-        Default_subband
-            - Type:'DevULong'
-        Default_integration_time
-            - Type:'DevDouble'
-    """
-    # PROTECTED REGION ID(StatsCrosslet.class_variable) ENABLED START #
-    client = 0
-    ns = 0
-    obj = 0
-    record_cross = 0
-    stop_data_read_loop = False
-    data_acquisition_is_active = False
-    data_read_loop = threading.Thread()
-
-    def read_data(self):
-        # This is the the thread that continuously reads the crosslet
-        # statistics from the station and feeds it into the Tango
-        # property system.
-        self.debug_stream("Entering read_data loop.")
-        while self.stop_data_read_loop is False:
-            self.debug_stream("read_data is running, going to sleep for %fs..." % (self._pause_time))
-            threading.Event().wait(self._pause_time)
-            if self.data_acquisition_is_active is True:
-                try:
-                    self.debug_stream("fetching data:  subband = %d, integration_time = %d", self._subband, self._integration_time)
-                    t, visibilities_list, rcu_modes = self.obj.call_method(self.record_cross, self._subband, self._integration_time)
-                    self.debug_stream("fetching data done: t = %s, len(visibilities_list) = %d, len(rcu_modes) = %d", t, len(visibilities_list), len(rcu_modes))
-                    self._time_stamp = t.isoformat()
-                    visibilities = numpy.array(visibilities_list)[0] + 1j * numpy.array(visibilities_list[1])
-                    self._visibilities_real = visibilities.real
-                    self._visibilities_imag = visibilities.imag
-                    self._rcu_modes = rcu_modes
-                    self.debug_stream("timestamp = %s, visibilities_real [0][1] = %f", self._time_stamp, self._visibilities_real[0][1])
-                except KeyboardInterrupt:
-                    self.debug_stream("KBD interrupt caught, leaving data read loop.")
-                    self.stop_data_read_loop = True
-                except Exception as e:
-                    self.error_stream("Exception: %s.  Cannot call the method %s in the OPC-UA server %s.  Trace: %s", e, self.record_cross, self.OPC_Server_Name, traceback.format_exc())
-
-    # PROTECTED REGION END #    //  StatsCrosslet.class_variable
-
-    # -----------------
-    # Device Properties
-    # -----------------
-
-    OPC_Server_Name = device_property(
-        dtype='DevString',
-        default_value="okeanos"
-    )
-
-    OPC_Server_Port = device_property(
-        dtype='DevULong',
-        default_value=55556
-    )
-
-    OPC_Time_out = device_property(
-        dtype='DevDouble',
-        default_value=1.0
-    )
-
-    Default_pause_time = device_property(
-        dtype='DevDouble',
-        default_value=1.0
-    )
-
-    Default_subband = device_property(
-        dtype='DevULong',
-        default_value=150
-    )
-
-    Default_integration_time = device_property(
-        dtype='DevDouble',
-        default_value=1.0
-    )
-
-    # ----------
-    # Attributes
-    # ----------
-
-    subband = attribute(
-        dtype='DevUShort',
-        access=AttrWriteType.READ_WRITE,
-    )
-
-    integration_time = attribute(
-        dtype='DevDouble',
-        access=AttrWriteType.READ_WRITE,
-    )
-
-    time_stamp = attribute(
-        dtype='DevString',
-    )
-
-    pause_time = attribute(
-        dtype='DevDouble',
-        access=AttrWriteType.READ_WRITE,
-    )
-
-    rcu_modes = attribute(
-        dtype=('DevLong',),
-        max_dim_x=96,
-    )
-
-    visibilities_imag = attribute(
-        dtype=(('DevDouble',),),
-        max_dim_x=96, max_dim_y=96,
-    )
-
-    visibilities_real = attribute(
-        dtype=(('DevDouble',),),
-        max_dim_x=96, max_dim_y=96,
-    )
-
-    # ---------------
-    # General methods
-    # ---------------
-
-    def init_device(self):
-        """Initialises the attributes and properties of the StatsCrosslet."""
-        Device.init_device(self)
-        # PROTECTED REGION ID(StatsCrosslet.init_device) ENABLED START #
-        # Set default values in the read/write attributes.
-        self._time_stamp = ''
-        self._rcu_modes = ('',)
-        self._visibilities_imag = ((0.0,),)
-        self._visibilities_real = ((0.0,),)
-
-        # Set defaults to property values.
-        self._subband = self.Default_subband
-        self._integration_time = self.Default_integration_time
-        self._pause_time = self.Default_pause_time
-
-        try:
-            self.debug_stream("Connecting to OPC-UA server %s:%d...", self.OPC_Server_Name, self.OPC_Server_Port)
-            self.client = opcua.Client("opc.tcp://{}:{}/".format(self.OPC_Server_Name, self.OPC_Server_Port), self.OPC_Time_out * 1000)
-            self.client.connect()
-            ns = self.client.get_namespace_index("http://lofar.eu")
-            self.obj = self.client.get_root_node().get_child(["0:Objects", "{}:StationMetrics".format(ns),                                            "{}:RCU".format(ns)])
-            self.record_cross = "{}:record_cross".format(ns)
-            self.debug_stream("Connecting to OPC-UA server %s:%d done.", self.OPC_Server_Name, self.OPC_Server_Port)
-
-            self.data_read_loop = threading.Thread(target = self.read_data)
-            self.data_acquisition_is_active = False
-            self.stop_data_read_loop = False
-            self.data_read_loop.start()
-            self.set_state(DevState.INIT)
-        except Exception as e:
-            self.set_state(DevState.FAULT)
-            self.error_stream("Cannot connect to the OPC-UA server %s.  Trace: %s" % (self.OPC_Server_Name, traceback.format_exc()))
-            raise e
-        # PROTECTED REGION END #    //  StatsCrosslet.init_device
-
-    def always_executed_hook(self):
-        """Method always executed before any TANGO command is executed."""
-        # PROTECTED REGION ID(StatsCrosslet.always_executed_hook) ENABLED START #
-        # PROTECTED REGION END #    //  StatsCrosslet.always_executed_hook
-
-    def delete_device(self):
-        """Hook to delete resources allocated in init_device.
-
-        This method allows for any memory or other resources allocated in the
-        init_device method to be released.  This method is called by the device
-        destructor and by the device Init command.
-        """
-        # PROTECTED REGION ID(StatsCrosslet.delete_device) ENABLED START #
-        self.set_state(DevState.OFF)
-
-        self.debug_stream("Shutting down...")
-        self.data_acquisition_is_active = False
-        self.stop_data_read_loop = True
-        self.debug_stream("Waiting for data acquisition thread to shut down...")
-        self.data_read_loop.join()
-        self.debug_stream("Waiting for data acquisition thread to shut down, done")
-        if self.client is not None:
-            self.client.close_session()
-            self.client.close_secure_channel()
-        self.debug_stream("Shutdown done.")
-        # PROTECTED REGION END #    //  StatsCrosslet.delete_device
-    # ------------------
-    # Attributes methods
-    # ------------------
-
-    def read_subband(self):
-        # PROTECTED REGION ID(StatsCrosslet.subband_read) ENABLED START #
-        """Return the subband attribute."""
-        return self._subband
-        # PROTECTED REGION END #    //  StatsCrosslet.subband_read
-
-    def write_subband(self, value):
-        # PROTECTED REGION ID(StatsCrosslet.subband_write) ENABLED START #
-        """Set the subband attribute."""
-        self._subband = value
-        # PROTECTED REGION END #    //  StatsCrosslet.subband_write
-
-    def read_integration_time(self):
-        # PROTECTED REGION ID(StatsCrosslet.integration_time_read) ENABLED START #
-        """Return the integration_time attribute."""
-        if self.is_integration_time_allowed(True) is True:
-            return self._integration_time
-        # PROTECTED REGION END #    //  StatsCrosslet.integration_time_read
-
-    def write_integration_time(self, value):
-        # PROTECTED REGION ID(StatsCrosslet.integration_time_write) ENABLED START #
-        """Set the integration_time attribute."""
-        if self.is_integration_time_allowed(True) is True:
-            self._integration_time = value
-        # PROTECTED REGION END #    //  StatsCrosslet.integration_time_write
-
-    def is_integration_time_allowed(self, attr):
-        # PROTECTED REGION ID(StatsCrosslet.is_integration_time_allowed) ENABLED START #
-        return self.get_state() not in [DevState.OFF,DevState.INIT]
-        # PROTECTED REGION END #    //  StatsCrosslet.is_integration_time_allowed
-
-    def read_time_stamp(self):
-        # PROTECTED REGION ID(StatsCrosslet.time_stamp_read) ENABLED START #
-        """Return the time_stamp attribute."""
-        if self.is_time_stamp_allowed(True) is True:
-            return self._time_stamp
-        # PROTECTED REGION END #    //  StatsCrosslet.time_stamp_read
-
-    def is_time_stamp_allowed(self, attr):
-        # PROTECTED REGION ID(StatsCrosslet.is_time_stamp_allowed) ENABLED START #
-        return self.get_state() not in [DevState.OFF,DevState.INIT]
-        # PROTECTED REGION END #    //  StatsCrosslet.is_time_stamp_allowed
-
-    def read_pause_time(self):
-        # PROTECTED REGION ID(StatsCrosslet.pause_time_read) ENABLED START #
-        """Return the pause_time attribute."""
-        return self._pause_time
-        # PROTECTED REGION END #    //  StatsCrosslet.pause_time_read
-
-    def write_pause_time(self, value):
-        # PROTECTED REGION ID(StatsCrosslet.pause_time_write) ENABLED START #
-        """Set the pause_time attribute."""
-        self._pause_time = value
-        # PROTECTED REGION END #    //  StatsCrosslet.pause_time_write
-
-    def read_rcu_modes(self):
-        # PROTECTED REGION ID(StatsCrosslet.rcu_modes_read) ENABLED START #
-        """Return the rcu_modes attribute."""
-        if self.is_rcu_modes_allowed(True) is True:
-            return self._rcu_modes
-        # PROTECTED REGION END #    //  StatsCrosslet.rcu_modes_read
-
-    def is_rcu_modes_allowed(self, attr):
-        # PROTECTED REGION ID(StatsCrosslet.is_rcu_modes_allowed) ENABLED START #
-        return self.get_state() not in [DevState.OFF,DevState.INIT]
-        # PROTECTED REGION END #    //  StatsCrosslet.is_rcu_modes_allowed
-
-    def read_visibilities_imag(self):
-        # PROTECTED REGION ID(StatsCrosslet.visibilities_imag_read) ENABLED START #
-        """Return the visibilities_imag attribute."""
-        if self.is_visibilities_imag_allowed(True) is True:
-            return self._visibilities_imag
-        # PROTECTED REGION END #    //  StatsCrosslet.visibilities_imag_read
-
-    def is_visibilities_imag_allowed(self, attr):
-        # PROTECTED REGION ID(StatsCrosslet.is_visibilities_imag_allowed) ENABLED START #
-        return self.get_state() not in [DevState.OFF,DevState.INIT]
-        # PROTECTED REGION END #    //  StatsCrosslet.is_visibilities_imag_allowed
-
-    def read_visibilities_real(self):
-        # PROTECTED REGION ID(StatsCrosslet.visibilities_real_read) ENABLED START #
-        """Return the visibilities_real attribute."""
-        if self.is_visibilities_real_allowed(True) is True:
-            return self._visibilities_real
-        # PROTECTED REGION END #    //  StatsCrosslet.visibilities_real_read
-
-    def is_visibilities_real_allowed(self, attr):
-        # PROTECTED REGION ID(StatsCrosslet.is_visibilities_real_allowed) ENABLED START #
-        return self.get_state() not in [DevState.OFF,DevState.INIT]
-        # PROTECTED REGION END #    //  StatsCrosslet.is_visibilities_real_allowed
-
-    # --------
-    # Commands
-    # --------
-
-    @command(
-    )
-    @DebugIt()
-    def On(self):
-        # PROTECTED REGION ID(StatsCrosslet.On) ENABLED START #
-        """
-
-        :return:None
-        """
-        self.data_acquisition_is_active = True
-        self.set_state(DevState.ON)
-        # PROTECTED REGION END #    //  StatsCrosslet.On
-
-    @command(
-    )
-    @DebugIt()
-    def Local(self):
-        # PROTECTED REGION ID(StatsCrosslet.Local) ENABLED START #
-        """
-
-        :return:None
-        """
-        pass
-        # PROTECTED REGION END #    //  StatsCrosslet.Local
-
-    @command(
-    )
-    @DebugIt()
-    def Remote(self):
-        # PROTECTED REGION ID(StatsCrosslet.Remote) ENABLED START #
-        """
-
-        :return:None
-        """
-        pass
-        # PROTECTED REGION END #    //  StatsCrosslet.Remote
-
-    @command(
-    )
-    @DebugIt()
-    def Off(self):
-        # PROTECTED REGION ID(StatsCrosslet.Off) ENABLED START #
-        """
-
-        :return:None
-        """
-        self.set_state(DevState.OFF)
-        self.data_acquisition_is_active = False
-        # PROTECTED REGION END #    //  StatsCrosslet.Off
-
-    @command(
-    )
-    @DebugIt()
-    def Init(self):
-        # PROTECTED REGION ID(StatsCrosslet.Init) ENABLED START #
-        """
-
-        :return:None
-        """
-        self.set_state(DevState.INIT)
-        self.data_acquisition_is_active = False
-        # PROTECTED REGION END #    //  StatsCrosslet.Init
-
-# ----------
-# Run server
-# ----------
-
-
-def main(args=None, **kwargs):
-    """Main function of the StatsCrosslet module."""
-    # PROTECTED REGION ID(StatsCrosslet.main) ENABLED START #
-    return run((StatsCrosslet,), args=args, **kwargs)
-    # PROTECTED REGION END #    //  StatsCrosslet.main
-
-
-if __name__ == '__main__':
-    main()
diff --git a/StatsCrosslet-DS/StatsCrosslet.xmi b/StatsCrosslet-DS/StatsCrosslet.xmi
deleted file mode 100644
index 70f24b3ff6d6339ab3fabe6d02600482359eaa31..0000000000000000000000000000000000000000
--- a/StatsCrosslet-DS/StatsCrosslet.xmi
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl">
-  <classes name="StatsCrosslet" pogoRevision="9.6">
-    <description description="" title="OPC-UA client for LOFAR stations crosslet stats" sourcePath="/opt/tango/StatsCrosslet-DS" language="PythonHL" filestogenerate="XMI   file,Code files,Protected Regions" license="APACHE" copyright="" hasMandatoryProperty="false" hasConcreteProperty="true" hasAbstractCommand="false" hasAbstractAttribute="false">
-      <inheritances classname="Device_Impl" sourcePath=""/>
-      <identification contact="at astron.nl - jurges" author="jurges" emailDomain="astron.nl" classFamily="Acquisition" siteSpecific="" platform="Unix Like" bus="Ethernet" manufacturer="" reference=""/>
-    </description>
-    <deviceProperties name="OPC_Server_Name" description="">
-      <type xsi:type="pogoDsl:StringType"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <DefaultPropValue>okeanos</DefaultPropValue>
-    </deviceProperties>
-    <deviceProperties name="OPC_Server_Port" description="">
-      <type xsi:type="pogoDsl:UIntType"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <DefaultPropValue>55556</DefaultPropValue>
-    </deviceProperties>
-    <deviceProperties name="OPC_Time_out" description="">
-      <type xsi:type="pogoDsl:DoubleType"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <DefaultPropValue>1.0</DefaultPropValue>
-    </deviceProperties>
-    <deviceProperties name="Default_pause_time" description="">
-      <type xsi:type="pogoDsl:DoubleType"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <DefaultPropValue>1.0</DefaultPropValue>
-    </deviceProperties>
-    <deviceProperties name="Default_subband" description="">
-      <type xsi:type="pogoDsl:UIntType"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <DefaultPropValue>150</DefaultPropValue>
-    </deviceProperties>
-    <deviceProperties name="Default_integration_time" description="">
-      <type xsi:type="pogoDsl:DoubleType"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <DefaultPropValue>1.0</DefaultPropValue>
-    </deviceProperties>
-    <commands name="State" description="This command gets the device state (stored in its device_state data member) and returns it to the caller." execMethod="dev_state" displayLevel="OPERATOR" polledPeriod="0">
-      <argin description="none">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="Device state">
-        <type xsi:type="pogoDsl:StateType"/>
-      </argout>
-      <status abstract="true" inherited="true" concrete="true"/>
-    </commands>
-    <commands name="Status" description="This command gets the device status (stored in its device_status data member) and returns it to the caller." execMethod="dev_status" displayLevel="OPERATOR" polledPeriod="0">
-      <argin description="none">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="Device status">
-        <type xsi:type="pogoDsl:ConstStringType"/>
-      </argout>
-      <status abstract="true" inherited="true" concrete="true"/>
-    </commands>
-    <commands name="On" description="" execMethod="on" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false">
-      <argin description="">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argout>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </commands>
-    <commands name="Local" description="" execMethod="local" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false">
-      <argin description="">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argout>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </commands>
-    <commands name="Remote" description="" execMethod="remote" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false">
-      <argin description="">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argout>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </commands>
-    <commands name="Off" description="" execMethod="off" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false">
-      <argin description="">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argout>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </commands>
-    <commands name="Init" description="" execMethod="init" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false">
-      <argin description="">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argout>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </commands>
-    <attributes name="subband" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:UShortType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-    </attributes>
-    <attributes name="integration_time" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-      <readExcludedStates>OFF</readExcludedStates>
-      <readExcludedStates>INIT</readExcludedStates>
-    </attributes>
-    <attributes name="time_stamp" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:StringType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-      <readExcludedStates>OFF</readExcludedStates>
-      <readExcludedStates>INIT</readExcludedStates>
-    </attributes>
-    <attributes name="pause_time" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-    </attributes>
-    <attributes name="rcu_modes" attType="Spectrum" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="96" maxY="" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:IntType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-      <readExcludedStates>OFF</readExcludedStates>
-      <readExcludedStates>INIT</readExcludedStates>
-    </attributes>
-    <attributes name="visibilities_imag" attType="Image" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="96" maxY="96" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-      <readExcludedStates>OFF</readExcludedStates>
-      <readExcludedStates>INIT</readExcludedStates>
-    </attributes>
-    <attributes name="visibilities_real" attType="Image" rwType="READ" displayLevel="OPERATOR" polledPeriod="0" maxX="96" maxY="96" allocReadMember="true" isDynamic="false">
-      <dataType xsi:type="pogoDsl:DoubleType"/>
-      <changeEvent fire="false" libCheckCriteria="false"/>
-      <archiveEvent fire="false" libCheckCriteria="false"/>
-      <dataReadyEvent fire="false" libCheckCriteria="true"/>
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
-      <readExcludedStates>OFF</readExcludedStates>
-      <readExcludedStates>INIT</readExcludedStates>
-    </attributes>
-    <states name="ON" description="">
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </states>
-    <states name="OFF" description="">
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </states>
-    <states name="INIT" description="">
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </states>
-    <states name="FAULT" description="">
-      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
-    </states>
-    <preferences docHome="./doc_html" makefileHome="/usr/local/share/pogo/preferences"/>
-  </classes>
-</pogoDsl:PogoSystem>
diff --git a/StatsCrosslet-DS/requirements.txt b/StatsCrosslet-DS/requirements.txt
deleted file mode 100644
index 3b3b3b08bb560cfbe4fed2e7c7a0241f02f0af24..0000000000000000000000000000000000000000
--- a/StatsCrosslet-DS/requirements.txt
+++ /dev/null
@@ -1 +0,0 @@
-opcua >= 0.98.9