diff --git a/README.md b/README.md
index 7729924326b1ca95fa8fc0cbd82183003ed206ba..9b6d74f57671a274340c995c23d72fd3f03cd22e 100644
--- a/README.md
+++ b/README.md
@@ -25,4 +25,4 @@ But there is some inline documentation in [lib/siplib.py](siplib.py) and you may
 
 The initial version of the siblib in this repo is version 0.4
 
-Because the siplib is strongly coupled to the SIP xsd, the version numbering of the siplib will match with the version of the xsd schema which is 2.8.0 now.
\ No newline at end of file
+Because the siplib is strongly coupled to the SIP xsd, the version numbering of the siplib will match with the version of the xsd schema which is 2.8.1 now.
\ No newline at end of file
diff --git a/lib/StationPositions.parset b/lib/StationPositions.parset
new file mode 100644
index 0000000000000000000000000000000000000000..7535793435631b7c6208f5053f01818073869292
--- /dev/null
+++ b/lib/StationPositions.parset
@@ -0,0 +1,213 @@
+# $Id$
+# Phase centers
+#
+# EPOCH: 2015.5
+#
+
+# Note: Reference phase center coordinates are EPOCH 2012.5
+Observation.referencePhaseCenter = [3826577.066, 461022.948, 5064892.786]
+
+PIC.Core.CS001LBA.phaseCenter = [3826923.503, 460915.488, 5064643.517]
+PIC.Core.CS001HBA.phaseCenter = [3826937.767, 460938.573, 5064630.724]
+PIC.Core.CS001HBA0.phaseCenter = [3826896.192, 460979.502, 5064658.231]
+PIC.Core.CS001HBA1.phaseCenter = [3826979.341, 460897.644, 5064603.217]
+
+PIC.Core.CS002LBA.phaseCenter = [3826577.023, 461022.995, 5064892.814]
+PIC.Core.CS002HBA.phaseCenter = [3826583.235, 460955.803, 5064894.225]
+PIC.Core.CS002HBA0.phaseCenter = [3826600.918, 460953.449, 5064881.164]
+PIC.Core.CS002HBA1.phaseCenter = [3826565.551, 460958.157, 5064907.286]
+
+PIC.Core.CS003LBA.phaseCenter = [3826516.705, 460930.113, 5064946.485]
+PIC.Core.CS003HBA.phaseCenter = [3826494.537, 461017.745, 5064955.204]
+PIC.Core.CS003HBA0.phaseCenter = [3826471.305, 461000.185, 5064974.229]
+PIC.Core.CS003HBA1.phaseCenter = [3826517.769, 461035.305, 5064936.178]
+
+PIC.Core.CS004LBA.phaseCenter = [3826654.154, 460939.623, 5064842.454]
+PIC.Core.CS004HBA.phaseCenter = [3826582.513, 460891.709, 5064900.560]
+PIC.Core.CS004HBA0.phaseCenter = [3826585.583, 460865.891, 5064900.589]
+PIC.Core.CS004HBA1.phaseCenter = [3826579.443, 460917.527, 5064900.530]
+
+PIC.Core.CS005LBA.phaseCenter = [3826668.707, 461069.597, 5064819.782]
+PIC.Core.CS005HBA.phaseCenter = [3826666.134, 461005.580, 5064827.500]
+PIC.Core.CS005HBA0.phaseCenter = [3826701.117, 460989.297, 5064802.713]
+PIC.Core.CS005HBA1.phaseCenter = [3826631.151, 461021.862, 5064852.287]
+
+PIC.Core.CS006LBA.phaseCenter = [3826596.687, 461145.225, 5064867.006]
+PIC.Core.CS006HBA.phaseCenter = [3826633.098, 461108.416, 5064843.003]
+PIC.Core.CS006HBA0.phaseCenter = [3826653.740, 461136.487, 5064824.971]
+PIC.Core.CS006HBA1.phaseCenter = [3826612.456, 461080.345, 5064861.034]
+
+PIC.Core.CS007LBA.phaseCenter = [3826533.318, 461099.013, 5064918.749]
+PIC.Core.CS007HBA.phaseCenter = [3826508.325, 461126.773, 5064935.000]
+PIC.Core.CS007HBA0.phaseCenter = [3826478.672, 461083.767, 5064961.145]
+PIC.Core.CS007HBA1.phaseCenter = [3826537.978, 461169.778, 5064908.855]
+
+PIC.Core.CS011LBA.phaseCenter = [3826667.026, 461285.896, 5064801.620]
+PIC.Core.CS011HBA.phaseCenter = [3826643.148, 461290.840, 5064819.097]
+PIC.Core.CS011HBA0.phaseCenter = [3826637.378, 461227.392, 5064829.162]
+PIC.Core.CS011HBA1.phaseCenter = [3826648.918, 461354.288, 5064809.031]
+
+PIC.Core.CS013LBA.phaseCenter = [3826346.222, 460792.158, 5065087.164]
+PIC.Core.CS013HBA.phaseCenter = [3826360.486, 460815.243, 5065074.371]
+PIC.Core.CS013HBA0.phaseCenter = [3826318.911, 460856.172, 5065101.878]
+PIC.Core.CS013HBA1.phaseCenter = [3826402.060, 460774.314, 5065046.864]
+
+PIC.Core.CS017LBA.phaseCenter = [3826462.011, 461501.997, 5064935.855]
+PIC.Core.CS017HBA.phaseCenter = [3826452.396, 461530.026, 5064940.539]
+PIC.Core.CS017HBA0.phaseCenter = [3826405.052, 461507.507, 5064978.111]
+PIC.Core.CS017HBA1.phaseCenter = [3826499.740, 461552.545, 5064902.966]
+
+PIC.Core.CS021LBA.phaseCenter = [3826406.500, 460538.651, 5065064.898]
+PIC.Core.CS021HBA.phaseCenter = [3826416.115, 460510.623, 5065060.215]
+PIC.Core.CS021HBA0.phaseCenter = [3826463.459, 460533.141, 5065022.642]
+PIC.Core.CS021HBA1.phaseCenter = [3826368.770, 460488.104, 5065097.787]
+
+PIC.Core.CS024LBA.phaseCenter = [3827161.191, 461409.455, 5064421.074]
+PIC.Core.CS024HBA.phaseCenter = [3827170.806, 461381.426, 5064416.390]
+PIC.Core.CS024HBA0.phaseCenter = [3827218.150, 461403.945, 5064378.818]
+PIC.Core.CS024HBA1.phaseCenter = [3827123.461, 461358.908, 5064453.963]
+
+PIC.Core.CS026LBA.phaseCenter = [3826390.873, 461869.899, 5064955.941]
+PIC.Core.CS026HBA.phaseCenter = [3826376.610, 461846.814, 5064968.734]
+PIC.Core.CS026HBA0.phaseCenter = [3826418.184, 461805.884, 5064941.227]
+PIC.Core.CS026HBA1.phaseCenter = [3826335.035, 461887.743, 5064996.241]
+
+PIC.Core.CS028LBA.phaseCenter = [3825600.402, 461260.640, 5065604.353]
+PIC.Core.CS028HBA.phaseCenter = [3825614.666, 461283.725, 5065591.560]
+PIC.Core.CS028HBA0.phaseCenter = [3825573.091, 461324.654, 5065619.067]
+PIC.Core.CS028HBA1.phaseCenter = [3825656.240, 461242.796, 5065564.053]
+
+PIC.Core.CS030LBA.phaseCenter = [3826014.223, 460387.436, 5065372.356]
+PIC.Core.CS030HBA.phaseCenter = [3825999.960, 460364.350, 5065385.149]
+PIC.Core.CS030HBA0.phaseCenter = [3826041.534, 460323.421, 5065357.642]
+PIC.Core.CS030HBA1.phaseCenter = [3825958.385, 460405.280, 5065412.656]
+
+PIC.Core.CS031LBA.phaseCenter = [3826439.953, 460273.880, 5065063.622]
+PIC.Core.CS031HBA.phaseCenter = [3826430.338, 460301.909, 5065068.306]
+PIC.Core.CS031HBA0.phaseCenter = [3826382.994, 460279.390, 5065105.878]
+PIC.Core.CS031HBA1.phaseCenter = [3826477.682, 460324.428, 5065030.733]
+
+PIC.Core.CS032LBA.phaseCenter = [3826891.530, 460387.957, 5064715.320]
+PIC.Core.CS032HBA.phaseCenter = [3826905.794, 460411.042, 5064702.527]
+PIC.Core.CS032HBA0.phaseCenter = [3826864.219, 460451.971, 5064730.034]
+PIC.Core.CS032HBA1.phaseCenter = [3826947.368, 460370.113, 5064675.020]
+
+PIC.Core.CS101LBA.phaseCenter = [3825842.923, 461704.496, 5065381.501]
+PIC.Core.CS101HBA.phaseCenter = [3825852.538, 461676.468, 5065376.818]
+PIC.Core.CS101HBA0.phaseCenter = [3825899.882, 461698.986, 5065339.245]
+PIC.Core.CS101HBA1.phaseCenter = [3825805.193, 461653.949, 5065414.390]
+
+PIC.Core.CS103LBA.phaseCenter = [3826304.236, 462823.136, 5064934.362]
+PIC.Core.CS103HBA.phaseCenter = [3826289.973, 462800.050, 5064947.155]
+PIC.Core.CS103HBA0.phaseCenter = [3826331.547, 462759.121, 5064919.648]
+PIC.Core.CS103HBA1.phaseCenter = [3826248.398, 462840.980, 5064974.662]
+
+PIC.Core.CS201LBA.phaseCenter = [3826708.886, 461913.794, 5064713.866]
+PIC.Core.CS201HBA.phaseCenter = [3826685.008, 461918.738, 5064731.343]
+PIC.Core.CS201HBA0.phaseCenter = [3826679.238, 461855.290, 5064741.408]
+PIC.Core.CS201HBA1.phaseCenter = [3826690.778, 461982.186, 5064721.277]
+
+PIC.Core.CS301LBA.phaseCenter = [3827412.822, 460992.390, 5064269.972]
+PIC.Core.CS301HBA.phaseCenter = [3827436.700, 460987.447, 5064252.496]
+PIC.Core.CS301HBA0.phaseCenter = [3827442.469, 461050.894, 5064242.431]
+PIC.Core.CS301HBA1.phaseCenter = [3827430.930, 460923.999, 5064262.561]
+
+PIC.Core.CS302LBA.phaseCenter = [3827945.873, 459792.686, 5063990.045]
+PIC.Core.CS302HBA.phaseCenter = [3827931.609, 459769.601, 5064002.836]
+PIC.Core.CS302HBA0.phaseCenter = [3827973.183, 459728.671, 5063975.329]
+PIC.Core.CS302HBA1.phaseCenter = [3827890.034, 459810.530, 5064030.342]
+
+PIC.Core.CS401LBA.phaseCenter = [3826766.063, 460100.435, 5064836.498]
+PIC.Core.CS401HBA.phaseCenter = [3826789.939, 460095.491, 5064819.024]
+PIC.Core.CS401HBA0.phaseCenter = [3826795.709, 460158.941, 5064808.957]
+PIC.Core.CS401HBA1.phaseCenter = [3826784.168, 460032.040, 5064829.090]
+
+PIC.Core.CS501LBA.phaseCenter = [3825625.736, 460642.157, 5065640.800]
+PIC.Core.CS501HBA.phaseCenter = [3825616.121, 460670.186, 5065645.484]
+PIC.Core.CS501HBA0.phaseCenter = [3825568.777, 460647.667, 5065683.056]
+PIC.Core.CS501HBA1.phaseCenter = [3825663.465, 460692.705, 5065607.911]
+
+PIC.Core.DE601LBA.phaseCenter = [4034038.204, 487026.614, 4900280.359]
+PIC.Core.DE601HBA.phaseCenter = [4034101.470, 487012.792, 4900230.512]
+
+PIC.Core.DE602LBA.phaseCenter = [4152560.612, 828869.127, 4754357.186]
+PIC.Core.DE602HBA.phaseCenter = [4152567.960, 828789.204, 4754362.234]
+
+PIC.Core.DE603LBA.phaseCenter = [3940284.862, 816802.383, 4932393.051]
+PIC.Core.DE603HBA.phaseCenter = [3940295.660, 816722.914, 4932394.446]
+
+PIC.Core.DE604LBA.phaseCenter = [3796327.130, 877591.683, 5032757.536]
+PIC.Core.DE604HBA.phaseCenter = [3796379.775, 877614.177, 5032712.556]
+
+# Note: DE605 coordinates are EPOCH 2017.5
+PIC.Core.DE605LBA.phaseCenter = [4005681.285, 450968.703, 4926457.990]
+PIC.Core.DE605HBA.phaseCenter = [4005717.990, 451028.465, 4926424.423]
+
+PIC.Core.DE609LBA.phaseCenter = [3727207.316, 655185.261, 5117000.905]
+PIC.Core.DE609HBA.phaseCenter = [3727217.666, 655109.182, 5117003.127]
+
+PIC.Core.FR606LBA.phaseCenter = [4323979.772, 165608.826, 4670303.127]
+PIC.Core.FR606HBA.phaseCenter = [4324016.671, 165545.578, 4670271.396]
+
+PIC.Core.IE613LBA.phaseCenter = [3801633.528, -529021.899, 5076997.185]
+PIC.Core.IE613HBA.phaseCenter = [3801691.943, -528983.966, 5076957.924]
+
+PIC.Core.PL610LBA.phaseCenter = [3738425.932, 1148187.176, 5021750.597]
+PIC.Core.PL610HBA.phaseCenter = [3738462.416, 1148244.316, 5021710.658]
+
+PIC.Core.PL611LBA.phaseCenter = [3850973.987, 1439061.041, 4860478.994]
+PIC.Core.PL611HBA.phaseCenter = [3850980.881, 1438994.879, 4860498.993]
+
+PIC.Core.PL612LBA.phaseCenter = [3551478.643, 1334128.493, 5110179.160]
+PIC.Core.PL612HBA.phaseCenter = [3551481.817, 1334203.573, 5110157.410]
+
+PIC.Core.RS106LBA.phaseCenter = [3829261.381, 469162.332, 5062137.339]
+PIC.Core.RS106HBA.phaseCenter = [3829205.554, 469142.580, 5062181.031]
+
+PIC.Core.RS205LBA.phaseCenter = [3831438.520, 463435.488, 5061025.495]
+PIC.Core.RS205HBA.phaseCenter = [3831479.627, 463487.577, 5060989.932]
+
+PIC.Core.RS208LBA.phaseCenter = [3847810.007, 466929.754, 5048357.251]
+PIC.Core.RS208HBA.phaseCenter = [3847753.266, 466962.857, 5048397.273]
+
+PIC.Core.RS210LBA.phaseCenter = [3877847.404, 467456.975, 5025437.636]
+PIC.Core.RS210HBA.phaseCenter = [3877827.519, 467536.653, 5025445.613]
+
+PIC.Core.RS305LBA.phaseCenter = [3828720.715, 454781.458, 5063851.111]
+PIC.Core.RS305HBA.phaseCenter = [3828732.668, 454692.451, 5063850.344]
+
+PIC.Core.RS306LBA.phaseCenter = [3829791.765, 452829.895, 5063221.619]
+PIC.Core.RS306HBA.phaseCenter = [3829771.206, 452761.749, 5063243.210]
+
+PIC.Core.RS307LBA.phaseCenter = [3837940.905, 449560.803, 5057381.316]
+PIC.Core.RS307HBA.phaseCenter = [3837964.476, 449627.308, 5057357.613]
+
+PIC.Core.RS310LBA.phaseCenter = [3845433.009, 413580.936, 5054756.199]
+PIC.Core.RS310HBA.phaseCenter = [3845376.247, 413616.612, 5054796.370]
+
+PIC.Core.RS406LBA.phaseCenter = [3818467.590, 451974.648, 5071790.625]
+PIC.Core.RS406HBA.phaseCenter = [3818424.895, 452020.316, 5071817.672]
+
+PIC.Core.RS407LBA.phaseCenter = [3811595.818, 453444.729, 5076770.457]
+PIC.Core.RS407HBA.phaseCenter = [3811649.412, 453459.942, 5076728.980]
+
+PIC.Core.RS409LBA.phaseCenter = [3824755.810, 426178.894, 5069289.897]
+PIC.Core.RS409HBA.phaseCenter = [3824812.578, 426130.377, 5069251.783]
+
+PIC.Core.RS503LBA.phaseCenter = [3824090.409, 459438.330, 5066898.218]
+PIC.Core.RS503HBA.phaseCenter = [3824138.523, 459477.020, 5066858.606]
+
+PIC.Core.RS508LBA.phaseCenter = [3797202.072, 463087.556, 5086605.065]
+PIC.Core.RS508HBA.phaseCenter = [3797136.440, 463114.494, 5086651.314]
+
+PIC.Core.RS509LBA.phaseCenter = [3783579.088, 450178.929, 5097830.864]
+PIC.Core.RS509HBA.phaseCenter = [3783537.482, 450130.111, 5097866.175]
+
+PIC.Core.SE607LBA.phaseCenter = [3370286.883, 712053.913, 5349991.484]
+PIC.Core.SE607HBA.phaseCenter = [3370271.609, 712125.923, 5349991.190]
+
+PIC.Core.UK608LBA.phaseCenter = [4008438.421, -100309.676, 4943735.858]
+PIC.Core.UK608HBA.phaseCenter = [4008461.905, -100376.560, 4943716.904]
+
+PIC.Core.LV614LBA.phaseCenter = [3183318.032, 1276777.655, 5359435.077]
+PIC.Core.LV614HBA.phaseCenter = [3183249.286, 1276801.742, 5359469.949]
\ No newline at end of file
diff --git a/lib/etc/LTA-SIP.xsd b/lib/etc/LTA-SIP.xsd
index f1c32c7b4520cbdfe2e2a8bc52411cabe05505bc..cd6618ab808f1ec0779e9b01cebdce8000c10df7 100644
--- a/lib/etc/LTA-SIP.xsd
+++ b/lib/etc/LTA-SIP.xsd
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xs:schema targetNamespace="http://www.astron.nl/SIP-Lofar" version="2.8.0" xmlns="http://www.astron.nl/SIP-Lofar" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+<xs:schema targetNamespace="http://www.astron.nl/SIP-Lofar" version="2.8.1" xmlns="http://www.astron.nl/SIP-Lofar" xmlns:xs="http://www.w3.org/2001/XMLSchema">
 	<xs:annotation>
 		<xs:documentation>
 		XML Schema for data model Submission Information Package LOFAR Long Term Archive
@@ -616,7 +616,7 @@
 			<xs:element name="dataProductIdentifier" type="IdentifierType" maxOccurs="unbounded"/>
 		</xs:sequence>
 	</xs:complexType>
-	<xs:complexType name="PipelineRun">
+	<xs:complexType name="PipelineRun" abstract="true">
 		<xs:complexContent>
 			<xs:extension base="Process">
 				<xs:sequence>
diff --git a/lib/ltasip.py b/lib/ltasip.py
index 518fc49d580aced196016aa9e283b94e79bb52f5..c7ad2b7b5db54c3453992386b3a536a97cf97158 100644
--- a/lib/ltasip.py
+++ b/lib/ltasip.py
@@ -5,6 +5,18 @@
 # Namespace http://www.astron.nl/SIP-Lofar
 
 from __future__ import unicode_literals
+
+try:
+    import pyxb.binding
+except AttributeError:
+    import sys
+    if sys.version_info.major == 3 and  sys.version_info.minor >= 10:
+        # MutableSequence, Iterable was moved in pyton 3.10
+        # make pyxb work with 3.10
+        import collections
+        collections.MutableSequence = collections.abc.MutableSequence
+        collections.Iterable = collections.abc.Iterable
+
 import pyxb
 import pyxb.binding
 import pyxb.binding.saxer
@@ -3610,7 +3622,7 @@ class PipelineRun(Process):
     """Complex type {http://www.astron.nl/SIP-Lofar}PipelineRun with content type ELEMENT_ONLY"""
     _TypeDefinition = None
     _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY
-    _Abstract = False
+    _Abstract = True
     _ExpandedName = pyxb.namespace.ExpandedName(Namespace, 'PipelineRun')
     _XSDLocation = pyxb.utils.utility.Location(DEFAULT_SIP_XSD_PATH, 619, 1)
     _ElementMap = Process._ElementMap.copy()
diff --git a/lib/siplib.py b/lib/siplib.py
index 6ee71f3599fad8bcdef667f2e73b9821725ba4bf..af8b6382efc450c4e6bf92f4159bd22ab89c3cfd 100644
--- a/lib/siplib.py
+++ b/lib/siplib.py
@@ -39,7 +39,7 @@ import logging
 
 logger = logging.getLogger(__name__)
 
-VERSION = "SIPlib 2.8.0"
+VERSION = "SIPlib 2.8.1"
 ltasip.Namespace.setPrefix('sip')
 
 
@@ -157,8 +157,8 @@ class Station():
         __afield2 = None
         station_coords = station_coordinates.parse_station_coordinates()
         for atype in antennafieldtypes:
-            if name + "_" + atype in station_coords.keys():
-                field_coords = station_coords[name + "_" + atype]
+            if name + atype in station_coords.keys():
+                field_coords = station_coords[name + atype]
                 __afield = AntennafieldXYZ(
                     type=atype,
                     coordinate_system=field_coords["coordinate_system"],
@@ -896,7 +896,7 @@ class CorrelatorProcessing():
 
         __channelwidth = None
         if channelwidth_frequency and channelwidth_frequencyunit:
-            __channelwidth = ltasip.Frequency(channelwidth_frequency, units=channelwidth_frequencyunit),
+            __channelwidth = ltasip.Frequency(channelwidth_frequency, units=channelwidth_frequencyunit)
 
         self.__pyxb_rtprocessing = ltasip.Correlator(
             integrationInterval=ltasip.Time(integrationinterval, units=integrationinterval_unit),
@@ -963,7 +963,7 @@ class CoherentStokesProcessing():
             processingType=processingtype)
 
         # Somehow this does not work in the constructor:
-        self.__pyxb_rtprocessing.channelwidth = __channelwidth
+        self.__pyxb_rtprocessing.channelWidth = __channelwidth
 
     def _get_pyxb_rtprocessing(self, suppress_warning=False):
         if not suppress_warning:
@@ -998,7 +998,7 @@ class IncoherentStokesProcessing():
 
         __channelwidth = None
         if channelwidth_frequency and channelwidth_frequencyunit:
-            __channelwidth = ltasip.Frequency(channelwidth_frequency, units=channelwidth_frequencyunit),
+            __channelwidth = ltasip.Frequency(channelwidth_frequency, units=channelwidth_frequencyunit)
 
         self.__pyxb_rtprocessing = ltasip.IncoherentStokes(
             rawSamplingTime=ltasip.Time(rawsamplingtime, units=rawsamplingtime_unit),
@@ -1016,7 +1016,7 @@ class IncoherentStokesProcessing():
             cobaltPipelineNumber=cobaltpipelinenumber,
             processingType = processingtype)
         # Somehow this does not work in the constructor:
-        self.__pyxb_rtprocessing.channelwidth = __channelwidth
+        self.__pyxb_rtprocessing.channelWidth = __channelwidth
 
     def _get_pyxb_rtprocessing(self, suppress_warning=False):
         if not suppress_warning:
@@ -1059,7 +1059,7 @@ class FlysEyeProcessing():
 
 
         # Somehow this does not work in the constructor:
-        self.__pyxb_rtprocessing.channelwidth = __channelwidth
+        self.__pyxb_rtprocessing.channelWidth = __channelwidth
 
     def _get_pyxb_rtprocessing(self, suppress_warning=False):
         if not suppress_warning:
@@ -1347,8 +1347,8 @@ class Observation():
 
         # Somehow this does not work in the constructor:
         if channelwidth_frequency and channelwidth_frequencyunit:
-            self.__pyxb_observation.channelwidth = ltasip.Frequency(channelwidth_frequency,
-                                                                    units=channelwidth_frequencyunit),
+            self.__pyxb_observation.channelWidth = ltasip.Frequency(channelwidth_frequency,
+                                                                    units=channelwidth_frequencyunit)
 
     def _get_pyxb_observation(self, suppress_warning=False):
         if not suppress_warning:
@@ -1446,7 +1446,7 @@ class Sip(object):
                                observingmode,
                                description,
                                process_map,
-                               ):
+                               return_xml=True):
 
         up = ltasip.UnspecifiedProcess(
             observingMode=observingmode,
@@ -1454,21 +1454,22 @@ class Sip(object):
             **process_map.get_dict()
         )
         self.__sip.unspecifiedProcess.append(up)
-
-        return self.get_prettyxml()
+        if return_xml:
+            return self.get_prettyxml()
 
     def add_parset(self,
                    identifier,
-                   contents):
+                   contents,
+                   return_xml=True):
 
         self.__sip.parset.append(ltasip.Parset(
             identifier=identifier._get_pyxb_identifier(suppress_warning=True),
             contents=contents
         ))
+        if return_xml:
+            return self.get_prettyxml()
 
-        return self.get_prettyxml()
-
-    def add_related_dataproduct_with_history(self, relateddataproduct_sip):
+    def add_related_dataproduct_with_history(self, relateddataproduct_sip, return_xml=True):
         # add the dataproduct described by the SIP (if not there)
         if not any(
                 x.dataProductIdentifier.identifier == relateddataproduct_sip.__sip.dataProduct.dataProductIdentifier.identifier
@@ -1507,7 +1508,8 @@ class Sip(object):
             for par in relateddataproduct_sip.__sip.parset:
                 if not any(x.identifier.identifier == par.identifier.identifier for x in self.__sip.parset):
                     self.__sip.parset.append(par)
-        return self.get_prettyxml()
+        if return_xml:
+            return self.get_prettyxml()
 
     def get_dataproduct_identifier(self):
         """
diff --git a/lib/station_coordinates.conf b/lib/station_coordinates.conf
deleted file mode 100644
index 741cd1395f2a6a362e70335b7c97d0ac383eb746..0000000000000000000000000000000000000000
--- a/lib/station_coordinates.conf
+++ /dev/null
@@ -1,162 +0,0 @@
-coordinate_system='ITRF2005', x='3826923.546', y='460915.441', z='5064643.489'  , name='CS001_LBA'
-coordinate_system='ITRF2005', x='3826937.810', y='460938.526', z='5064630.696'  , name='CS001_HBA'
-coordinate_system='ITRF2005', x='3826896.235', y='460979.455', z='5064658.203'  , name='CS001_HBA0'
-coordinate_system='ITRF2005', x='3826979.384', y='460897.597', z='5064603.189'  , name='CS001_HBA1'
-coordinate_system='ITRF2005', x='3826577.066', y='461022.948', z='5064892.786'  , name='CS002_LBA'
-coordinate_system='ITRF2005', x='3826583.278', y='460955.756', z='5064894.197'  , name='CS002_HBA'
-coordinate_system='ITRF2005', x='3826600.961', y='460953.402', z='5064881.136'  , name='CS002_HBA0'
-coordinate_system='ITRF2005', x='3826565.594', y='460958.110', z='5064907.258'  , name='CS002_HBA1'
-coordinate_system='ITRF2005', x='3826516.748', y='460930.066', z='5064946.457'  , name='CS003_LBA'
-coordinate_system='ITRF2005', x='3826494.580', y='461017.698', z='5064955.176'  , name='CS003_HBA'
-coordinate_system='ITRF2005', x='3826471.348', y='461000.138', z='5064974.201'  , name='CS003_HBA0'
-coordinate_system='ITRF2005', x='3826517.812', y='461035.258', z='5064936.150'  , name='CS003_HBA1'
-coordinate_system='ITRF2005', x='3826654.197', y='460939.576', z='5064842.426'  , name='CS004_LBA'
-coordinate_system='ITRF2005', x='3826582.556', y='460891.662', z='5064900.532'  , name='CS004_HBA'
-coordinate_system='ITRF2005', x='3826585.626', y='460865.844', z='5064900.561'  , name='CS004_HBA0'
-coordinate_system='ITRF2005', x='3826579.486', y='460917.480', z='5064900.502'  , name='CS004_HBA1'
-coordinate_system='ITRF2005', x='3826668.750', y='461069.550', z='5064819.754'  , name='CS005_LBA'
-coordinate_system='ITRF2005', x='3826666.177', y='461005.533', z='5064827.472'  , name='CS005_HBA'
-coordinate_system='ITRF2005', x='3826701.160', y='460989.250', z='5064802.685'  , name='CS005_HBA0'
-coordinate_system='ITRF2005', x='3826631.194', y='461021.815', z='5064852.259'  , name='CS005_HBA1'
-coordinate_system='ITRF2005', x='3826596.730', y='461145.178', z='5064866.978'  , name='CS006_LBA'
-coordinate_system='ITRF2005', x='3826633.141', y='461108.369', z='5064842.975'  , name='CS006_HBA'
-coordinate_system='ITRF2005', x='3826653.783', y='461136.440', z='5064824.943'  , name='CS006_HBA0'
-coordinate_system='ITRF2005', x='3826612.499', y='461080.298', z='5064861.006'  , name='CS006_HBA1'
-coordinate_system='ITRF2005', x='3826533.361', y='461098.966', z='5064918.721'  , name='CS007_LBA'
-coordinate_system='ITRF2005', x='3826508.368', y='461126.726', z='5064934.972'  , name='CS007_HBA'
-coordinate_system='ITRF2005', x='3826478.715', y='461083.720', z='5064961.117'  , name='CS007_HBA0'
-coordinate_system='ITRF2005', x='3826538.021', y='461169.731', z='5064908.827'  , name='CS007_HBA1'
-coordinate_system='ITRF2005', x='3826667.069', y='461285.849', z='5064801.592'  , name='CS011_LBA'
-coordinate_system='ITRF2005', x='3826643.191', y='461290.793', z='5064819.069'  , name='CS011_HBA'
-coordinate_system='ITRF2005', x='3826637.421', y='461227.345', z='5064829.134'  , name='CS011_HBA0'
-coordinate_system='ITRF2005', x='3826648.961', y='461354.241', z='5064809.003'  , name='CS011_HBA1'
-coordinate_system='ITRF2005', x='3826346.265', y='460792.111', z='5065087.136'  , name='CS013_LBA'
-coordinate_system='ITRF2005', x='3826360.529', y='460815.196', z='5065074.343'  , name='CS013_HBA'
-coordinate_system='ITRF2005', x='3826318.954', y='460856.125', z='5065101.850'  , name='CS013_HBA0'
-coordinate_system='ITRF2005', x='3826402.103', y='460774.267', z='5065046.836'  , name='CS013_HBA1'
-coordinate_system='ITRF2005', x='3826462.054', y='461501.950', z='5064935.827'  , name='CS017_LBA'
-coordinate_system='ITRF2005', x='3826452.439', y='461529.979', z='5064940.511'  , name='CS017_HBA'
-coordinate_system='ITRF2005', x='3826405.095', y='461507.460', z='5064978.083'  , name='CS017_HBA0'
-coordinate_system='ITRF2005', x='3826499.783', y='461552.498', z='5064902.938'  , name='CS017_HBA1'
-coordinate_system='ITRF2005', x='3826406.543', y='460538.604', z='5065064.870'  , name='CS021_LBA'
-coordinate_system='ITRF2005', x='3826416.158', y='460510.576', z='5065060.187'  , name='CS021_HBA'
-coordinate_system='ITRF2005', x='3826463.502', y='460533.094', z='5065022.614'  , name='CS021_HBA0'
-coordinate_system='ITRF2005', x='3826368.813', y='460488.057', z='5065097.759'  , name='CS021_HBA1'
-coordinate_system='ITRF2005', x='3827161.234', y='461409.408', z='5064421.046'  , name='CS024_LBA'
-coordinate_system='ITRF2005', x='3827170.849', y='461381.379', z='5064416.362'  , name='CS024_HBA'
-coordinate_system='ITRF2005', x='3827218.193', y='461403.898', z='5064378.790'  , name='CS024_HBA0'
-coordinate_system='ITRF2005', x='3827123.504', y='461358.861', z='5064453.935'  , name='CS024_HBA1'
-coordinate_system='ITRF2005', x='3826390.916', y='461869.852', z='5064955.913'  , name='CS026_LBA'
-coordinate_system='ITRF2005', x='3826376.653', y='461846.767', z='5064968.706'  , name='CS026_HBA'
-coordinate_system='ITRF2005', x='3826418.227', y='461805.837', z='5064941.199'  , name='CS026_HBA0'
-coordinate_system='ITRF2005', x='3826335.078', y='461887.696', z='5064996.213'  , name='CS026_HBA1'
-coordinate_system='ITRF2005', x='3825600.445', y='461260.593', z='5065604.325'  , name='CS028_LBA'
-coordinate_system='ITRF2005', x='3825614.709', y='461283.678', z='5065591.532'  , name='CS028_HBA'
-coordinate_system='ITRF2005', x='3825573.134', y='461324.607', z='5065619.039'  , name='CS028_HBA0'
-coordinate_system='ITRF2005', x='3825656.283', y='461242.749', z='5065564.025'  , name='CS028_HBA1'
-coordinate_system='ITRF2005', x='3826014.266', y='460387.389', z='5065372.328'  , name='CS030_LBA'
-coordinate_system='ITRF2005', x='3826000.003', y='460364.303', z='5065385.121'  , name='CS030_HBA'
-coordinate_system='ITRF2005', x='3826041.577', y='460323.374', z='5065357.614'  , name='CS030_HBA0'
-coordinate_system='ITRF2005', x='3825958.428', y='460405.233', z='5065412.628'  , name='CS030_HBA1'
-coordinate_system='ITRF2005', x='3826439.996', y='460273.833', z='5065063.594'  , name='CS031_LBA'
-coordinate_system='ITRF2005', x='3826430.381', y='460301.862', z='5065068.278'  , name='CS031_HBA'
-coordinate_system='ITRF2005', x='3826383.037', y='460279.343', z='5065105.850'  , name='CS031_HBA0'
-coordinate_system='ITRF2005', x='3826477.725', y='460324.381', z='5065030.705'  , name='CS031_HBA1'
-coordinate_system='ITRF2005', x='3826891.573', y='460387.910', z='5064715.292'  , name='CS032_LBA'
-coordinate_system='ITRF2005', x='3826905.837', y='460410.995', z='5064702.499'  , name='CS032_HBA'
-coordinate_system='ITRF2005', x='3826864.262', y='460451.924', z='5064730.006'  , name='CS032_HBA0'
-coordinate_system='ITRF2005', x='3826947.411', y='460370.066', z='5064674.992'  , name='CS032_HBA1'
-coordinate_system='ITRF2005', x='3825842.966', y='461704.449', z='5065381.473'  , name='CS101_LBA'
-coordinate_system='ITRF2005', x='3825852.581', y='461676.421', z='5065376.790'  , name='CS101_HBA'
-coordinate_system='ITRF2005', x='3825899.925', y='461698.939', z='5065339.217'  , name='CS101_HBA0'
-coordinate_system='ITRF2005', x='3825805.236', y='461653.902', z='5065414.362'  , name='CS101_HBA1'
-coordinate_system='ITRF2005', x='3826304.279', y='462823.089', z='5064934.334'  , name='CS103_LBA'
-coordinate_system='ITRF2005', x='3826290.016', y='462800.003', z='5064947.127'  , name='CS103_HBA'
-coordinate_system='ITRF2005', x='3826331.590', y='462759.074', z='5064919.620'  , name='CS103_HBA0'
-coordinate_system='ITRF2005', x='3826248.441', y='462840.933', z='5064974.634'  , name='CS103_HBA1'
-coordinate_system='ITRF2005', x='3826708.929', y='461913.747', z='5064713.838'  , name='CS201_LBA'
-coordinate_system='ITRF2005', x='3826685.051', y='461918.691', z='5064731.315'  , name='CS201_HBA'
-coordinate_system='ITRF2005', x='3826679.281', y='461855.243', z='5064741.380'  , name='CS201_HBA0'
-coordinate_system='ITRF2005', x='3826690.821', y='461982.139', z='5064721.249'  , name='CS201_HBA1'
-coordinate_system='ITRF2005', x='3827412.865', y='460992.343', z='5064269.944'  , name='CS301_LBA'
-coordinate_system='ITRF2005', x='3827436.743', y='460987.400', z='5064252.468'  , name='CS301_HBA'
-coordinate_system='ITRF2005', x='3827442.512', y='461050.847', z='5064242.403'  , name='CS301_HBA0'
-coordinate_system='ITRF2005', x='3827430.973', y='460923.952', z='5064262.533'  , name='CS301_HBA1'
-coordinate_system='ITRF2005', x='3827945.916', y='459792.639', z='5063990.016'  , name='CS302_LBA'
-coordinate_system='ITRF2005', x='3827931.652', y='459769.554', z='5064002.807'  , name='CS302_HBA'
-coordinate_system='ITRF2005', x='3827973.226', y='459728.624', z='5063975.300'  , name='CS302_HBA0'
-coordinate_system='ITRF2005', x='3827890.077', y='459810.483', z='5064030.313'  , name='CS302_HBA1'
-coordinate_system='ITRF2005', x='3826766.106', y='460100.388', z='5064836.470'  , name='CS401_LBA'
-coordinate_system='ITRF2005', x='3826789.982', y='460095.444', z='5064818.996'  , name='CS401_HBA'
-coordinate_system='ITRF2005', x='3826795.752', y='460158.894', z='5064808.929'  , name='CS401_HBA0'
-coordinate_system='ITRF2005', x='3826784.211', y='460031.993', z='5064829.062'  , name='CS401_HBA1'
-coordinate_system='ITRF2005', x='3825625.779', y='460642.110', z='5065640.772'  , name='CS501_LBA'
-coordinate_system='ITRF2005', x='3825616.164', y='460670.139', z='5065645.456'  , name='CS501_HBA'
-coordinate_system='ITRF2005', x='3825568.820', y='460647.620', z='5065683.028'  , name='CS501_HBA0'
-coordinate_system='ITRF2005', x='3825663.508', y='460692.658', z='5065607.883'  , name='CS501_HBA1'
-coordinate_system='ITRF2005', x='4034036.396', y='487026.791', z='4900279.047'  , name='DE601_LBA'
-coordinate_system='ITRF2005', x='4034100.755', y='487013.454', z='4900231.061'  , name='DE601_HBA'
-coordinate_system='ITRF2005', x='4152560.658', y='828869.076', z='4754357.155'  , name='DE602_LBA'
-coordinate_system='ITRF2005', x='4152568.006', y='828789.153', z='4754362.203'  , name='DE602_HBA'
-coordinate_system='ITRF2005', x='3940284.908', y='816802.334', z='4932393.021'  , name='DE603_LBA'
-coordinate_system='ITRF2005', x='3940295.706', y='816722.865', z='4932394.416'  , name='DE603_HBA'
-coordinate_system='ITRF2005', x='3796327.178', y='877591.636', z='5032757.508'  , name='DE604_LBA'
-coordinate_system='ITRF2005', x='3796379.823', y='877614.130', z='5032712.528'  , name='DE604_HBA'
-coordinate_system='ITRF2005', x='4005681.355', y='450968.621', z='4926457.941'  , name='DE605_LBA'
-coordinate_system='ITRF2005', x='4005681.020', y='450968.643', z='4926458.211'  , name='DE605_HBA'
-
-coordinate_system='ITRF2005', x='3727207.32344', y='655185.253748', z='5117000.901'  , name='DE609_LBA'
-coordinate_system='ITRF2005', x='3727217.67345', y='655109.174749', z='5117003.123'  , name='DE609_HBA'
-
-coordinate_system='ITRF2005', x='2136832.729', y='810088.928', z='5935285.442'  , name='FI609_LBA'
-coordinate_system='ITRF2005', x='2136818.698', y='810039.764', z='5935299.217'  , name='FI609_HBA'
-coordinate_system='ITRF2005', x='4323979.809', y='165608.773', z='4670303.094'  , name='FR606_LBA'
-coordinate_system='ITRF2005', x='4324016.708', y='165545.525', z='4670271.363'  , name='FR606_HBA'
-coordinate_system='ITRF2005', x='3829261.425', y='469162.285', z='5062137.310'  , name='RS106_LBA'
-coordinate_system='ITRF2005', x='3829205.598', y='469142.533', z='5062181.002'  , name='RS106_HBA'
-coordinate_system='ITRF2005', x='3831438.563', y='463435.440', z='5061025.466'  , name='RS205_LBA'
-coordinate_system='ITRF2005', x='3831479.670', y='463487.529', z='5060989.903'  , name='RS205_HBA'
-coordinate_system='ITRF2005', x='3847810.051', y='466929.706', z='5048357.222'  , name='RS208_LBA'
-coordinate_system='ITRF2005', x='3847753.310', y='466962.809', z='5048397.244'  , name='RS208_HBA'
-
-coordinate_system='ITRF2005', x='3877847.446870000', y='467456.926958000', z='5025437.607', name ="RS210_LBA"
-coordinate_system='ITRF2005', x='3877827.561860000', y='467536.604956000', z='5025445.584', name ="RS210_HBA"
-
-
-coordinate_system='ITRF2005', x='3828720.759', y='454781.411', z='5063851.082'  , name='RS305_LBA'
-coordinate_system='ITRF2005', x='3828732.712', y='454692.404', z='5063850.315'  , name='RS305_HBA'
-coordinate_system='ITRF2005', x='3829791.808', y='452829.848', z='5063221.590'  , name='RS306_LBA'
-coordinate_system='ITRF2005', x='3829771.249', y='452761.702', z='5063243.181'  , name='RS306_HBA'
-coordinate_system='ITRF2005', x='3837940.949', y='449560.756', z='5057381.288'  , name='RS307_LBA'
-coordinate_system='ITRF2005', x='3837964.520', y='449627.261', z='5057357.585'  , name='RS307_HBA'
-coordinate_system='ITRF2005', x='3845433.052', y='413580.888', z='5054756.170'  , name='RS310_LBA'
-coordinate_system='ITRF2005', x='3845376.290', y='413616.564', z='5054796.341'  , name='RS310_HBA'
-coordinate_system='ITRF2005', x='3818467.634', y='451974.601', z='5071790.597'  , name='RS406_LBA'
-coordinate_system='ITRF2005', x='3818424.939', y='452020.269', z='5071817.644'  , name='RS406_HBA'
-coordinate_system='ITRF2005', x='3811595.861', y='453444.681', z='5076770.429'  , name='RS407_LBA'
-coordinate_system='ITRF2005', x='3811649.455', y='453459.894', z='5076728.952'  , name='RS407_HBA'
-coordinate_system='ITRF2005', x='3824755.853', y='426178.847', z='5069289.868'  , name='RS409_LBA'
-coordinate_system='ITRF2005', x='3824812.621', y='426130.330', z='5069251.754'  , name='RS409_HBA'
-coordinate_system='ITRF2005', x='3824090.452', y='459438.282', z='5066898.190'  , name='RS503_LBA'
-coordinate_system='ITRF2005', x='3824138.566', y='459476.972', z='5066858.578'  , name='RS503_HBA'
-coordinate_system='ITRF2005', x='3797202.116', y='463087.509', z='5086605.037'  , name='RS508_LBA'
-coordinate_system='ITRF2005', x='3797136.484', y='463114.447', z='5086651.286'  , name='RS508_HBA'
-coordinate_system='ITRF2005', x='3783579.131', y='450178.882', z='5097830.835'  , name='RS509_LBA'
-coordinate_system='ITRF2005', x='3783537.525', y='450130.064', z='5097866.146'  , name='RS509_HBA'
-coordinate_system='ITRF2005', x='3370286.931', y='712053.871', z='5349991.459'  , name='SE607_LBA'
-coordinate_system='ITRF2005', x='3370271.657', y='712125.881', z='5349991.165'  , name='SE607_HBA'
-coordinate_system='ITRF2005', x='4008438.457', y='-100309.725', z='4943735.828'  , name='UK608_LBA'
-coordinate_system='ITRF2005', x='4008461.941', y='-100376.609', z='4943716.874'  , name='UK608_HBA'
-
-coordinate_system='ITRF2005', x='3738425.93165', y='1148187.17594', z='5021750.597'  , name='PL610_LBA'
-coordinate_system='ITRF2005', x='3738462.41565', y='1148244.31594', z='5021710.658'  , name='PL610_HBA'
-coordinate_system='ITRF2005', x='3850973.9872', y='1439061.04111', z='4860478.994'  , name='PL611_LBA'
-coordinate_system='ITRF2005', x='3850980.8812', y='1438994.87911', z='4860498.993'  , name='PL611_HBA'
-coordinate_system='ITRF2005', x='3551478.64311', y='1334128.4928', z='5110179.160'  , name='PL612_LBA'
-coordinate_system='ITRF2005', x='3551481.8171', y='1334203.5728', z='5110157.410'  , name='PL612_HBA'
-
-coordinate_system='ITRF2005', x='3801633.528060000', y='-529021.899396000', z='5076997.185' , name='IE613_LBA'
-coordinate_system='ITRF2005', x='3801691.943300000', y='-528983.966429000', z='5076957.924'  , name='IE613_HBA'
-
-coordinate_system='ITRF2005', x='3183318.032280000', y='1276777.654760000', z='5359435.077'   , name='LV614_LBA'
-coordinate_system='ITRF2005', x='3183249.285620000', y='1276801.742170000', z='5359469.949'     , name='LV614_HBA'
\ No newline at end of file
diff --git a/lib/station_coordinates.py b/lib/station_coordinates.py
index 6a941f78a5f65684c8f27aecdf8f7fdf3bf02c66..7b07bdcedad7c345ef10c238fc6be47977e9b558 100644
--- a/lib/station_coordinates.py
+++ b/lib/station_coordinates.py
@@ -1,44 +1,32 @@
-#!/usr/bin/env python3
-
-# This module provides functions for easy creation of a Lofar LTA SIP document.
-# It builds upon a Pyxb-generated API from the schema definition, which is very clever but hard to use, since
-# the arguments in class constructors and functions definitions are not verbose and there is no intuitive way
-# to determine the mandatory and optional elements to create a valid SIP document. This module is designed to
-# provide easy-to-use functions that bridges this shortcoming of the Pyxb API.
-#
-# Usage: Import module. Create an instance of Sip.
-#        Add elements through the Sip.add_X functions. Many require instances of other classes of the module.
-#        call getprettyxml() and e.g. save to disk.
-#
-# Note on validation: From construction through every addition, the SIP should remain valid (or throw an error
-# that clearly points out where e.g. a given value does not meet the restrictions of the SIP schema.
-#
-# Note on code structure: This has to be seen as a compromise between elegant and maintainable code with well-
-# structured inheritance close to the schema definition on the one hand, and something more straightforward to use,
-# with flatter hierarchies on the other hand.
-#
-# Note on parameter maps:  The ...Map objects are helper objects to create dictionaries for the commonly used
-# constructor arguments of several other objects. This could alternatively also be implemented via inheritance from
-# a supertype, and indeed is solved like this in the pyxb code. However, this then requires the use of an argument
-# list pointer, which hides the list of required and optional arguments from the user. Alternatively, all arguments
-# have to be mapped in all constructors repeatedly, creating lots of boilerplate code. This is the nicest approach
-# I could think of that keeps the whole thing reasonably maintainable AND usable.
+# Helper module to deal with the station coordinate document
 
+from ast import literal_eval
 import os
+import functools
 
 d = os.path.dirname(os.path.realpath(__file__))
-STATION_CONFIG_PATH = d + '/station_coordinates.conf'
-
+DEFAULT_STATION_POSITIONS_PARSET_FILEPATH = d + os.path.sep + 'StationPositions.parset'
 
+@functools.lru_cache()
 def parse_station_coordinates() -> dict:
     """
-    :return: a dict mapping station field name, e.g. "CS002_LBA", to a dict containing ITRF coordinates
+    :return: a dict mapping station field name, e.g. "CS002_LBA", to a dict containing geocentric coordinates
     """
     station_coordinates = {}
-    with open(STATION_CONFIG_PATH, 'r') as f:
+    expected_comment_found = False
+    with open(DEFAULT_STATION_POSITIONS_PARSET_FILEPATH, 'r') as f:
         for line in f.readlines():
-            if line.strip():
-                field_coords = eval(
-                    "dict(" + line + ")")  # literal_eval does not accept dict definition via constructor. Make sure config file is not writable to prevent code execution!
-                station_coordinates[field_coords.pop("name")] = field_coords
+            if "Note: DE605 coordinates are EPOCH 2017.5" in line:
+                expected_comment_found = True
+            line = line.strip()
+            if line and line.startswith('PIC.Core.'):
+                key, value = line.split('=')
+                key = key.replace('PIC.Core.', '').replace('.phaseCenter', '').strip()
+                eval_value = literal_eval(value.strip())
+                field_coords = {'coordinate_system': 'ITRF2005', 'epoch': '2017.5' if 'DE605' in key else '2015.5',
+                                'x': eval_value[0], 'y': eval_value[1], 'z': eval_value[2], 'name': key}  # 'coordinate_system': 'ITRF2005' is correct or is this 'WGS84' or do we have to update the SIP library to support a newer standard?!
+                station_coordinates[key] = field_coords
+    if not expected_comment_found:
+        raise ValueError('File contents are missing an expected comment, indicating that special cases are no longer present in the coordinates file. Revise the code to reflect that.')
     return station_coordinates
+
diff --git a/lib/validator.py b/lib/validator.py
index 64097a4d8242b2ea0adbeb86e26a1cb934ea9e17..d926789731c60c0d31a241da0c46ce3629a17362 100644
--- a/lib/validator.py
+++ b/lib/validator.py
@@ -95,7 +95,7 @@ def check_consistency(sip):
                 if not id_from in linkstodataproduct:
                     raise Exception("The input dataproduct for pipeline '" + id + "' seems to be missing! -> ", id_from)
 
-    logger.info("General SIP structure seems ok!")
+    logger.info("General SIP structure for dataproduct with sip_id=%s seems ok!", id_out)
     return True  # already raised Exception if there was a problem...
 
 
diff --git a/setup.py b/setup.py
index 0d17bff6d63e19a25f8defda083d129bcff67d0b..6b7ab58f8ab5e31832ed11e745a82c944df3e8cb 100644
--- a/setup.py
+++ b/setup.py
@@ -11,7 +11,7 @@ scripts = glob.glob('bin/*')
 
 setuptools.setup(
     name="siputils",
-    version="2.8.0",
+    version="2.8.1",
     setuptools_git_versioning={
         "template": "{tag}",
         "dev_template": "{tag}.dev{ccount}+git.{sha}",
@@ -28,7 +28,7 @@ setuptools.setup(
     url="https://git.astron.nl/ro/siputils",
     packages=['lofar.lta.sip'],
     package_dir={'lofar.lta.sip': 'lib'},
-    package_data = {'lofar.lta.sip': ['etc/*.xsd','etc/.siplibrc','station_coordinates.conf']},
+    package_data = {'lofar.lta.sip': ['etc/*.xsd','etc/.siplibrc','StationPositions.parset']},
     include_package_data=False,
     scripts=scripts,
     classifiers=[
diff --git a/test/test_files/sipfrommom.xml b/test/test_files/sipfrommom.xml
index 2de6a69249ad43f54779458a53ab7d28e1f2c4d5..d53da39e283bcc7a84ba89608ae32c0cb09a8f9b 100644
--- a/test/test_files/sipfrommom.xml
+++ b/test/test_files/sipfrommom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <sip:ltaSip xmlns:sip="http://www.astron.nl/SIP-Lofar"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.astron.nl/SIP-Lofar LTA-SIP-2.8.0.xsd ">
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.astron.nl/SIP-Lofar LTA-SIP-2.8.1.xsd ">
     <sipGeneratorVersion>Version v2.17.5 (29-08-2016) (modified by hand by RG, May 2022)</sipGeneratorVersion>
     <project>
         <projectCode>LC6_016</projectCode>
diff --git a/test/test_files/valid_sip.xml b/test/test_files/valid_sip.xml
index bd7815c9e3fa74e5d974c55ddc9540affa68f1cd..ce62f965b8c7ca19896c19c065db5b75bee7e4d1 100644
--- a/test/test_files/valid_sip.xml
+++ b/test/test_files/valid_sip.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <sip:ltaSip xmlns:sip="http://www.astron.nl/SIP-Lofar"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.astron.nl/SIP-Lofar LTA-SIP-2.8.0.xsd ">
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.astron.nl/SIP-Lofar LTA-SIP-2.8.1.xsd ">
     <sipGeneratorVersion>Version v2.17.5 (29-08-2016) (modified by hand by RG, May 2022)</sipGeneratorVersion>
     <project>
         <projectCode>LC6_016</projectCode>
diff --git a/test/test_siplib.py b/test/test_siplib.py
index acb514b115545868567eb19c5306126f3b06d8f7..53a9e3fc8bc03f552f40291ed2bcfe758f48d911 100755
--- a/test/test_siplib.py
+++ b/test/test_siplib.py
@@ -594,12 +594,14 @@ class TestSIPlib(unittest.TestCase):
 
     def test_pipelines(self):
         mysip = create_basicdoc()
-        logger.info("===\nAdding simple pipelinerun:\n")
-        logger.info(mysip.add_pipelinerun(
-            siplib.SimplePipeline(
-                create_pipelinemap()
-            )
-        ))
+        with self.assertRaises(pyxb.exceptions_.AbstractInstantiationError) as context:
+            logger.info("===\nAdding simple pipelinerun:\n")
+            logger.info(mysip.add_pipelinerun(
+                siplib.SimplePipeline(
+                    create_pipelinemap()
+                )
+            ))
+        self.assertIn('Cannot instantiate abstract type {http://www.astron.nl/SIP-Lofar}PipelineRun directly', str(context.exception))
 
         logger.info("===\nAdding generic pipelinerun:\n")
         logger.info(mysip.add_pipelinerun(
diff --git a/version b/version
index 834f2629538327723c074ed4c3addca9888f0256..dbe590065479b394ecabbd44460125ae5fe544bf 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-2.8.0
+2.8.1