diff --git a/NOTICE.txt b/NOTICE.txt
index 965133a..d7bc4cc 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -18,12 +18,8 @@
 
 Copyright (c) 2016-2018 Gigatronik Ingolstadt GmbH
 Copyright (c) 2016-2018 Peak Solution GmbH
-Copyright (c) 2017-2018 science + computing AG Tuebingen (ATOS SE)
-Copyright (c) 2017-2018 Canoo Engineering AG
-Copyright (c) 2017 Florian Schmitt
 Copyright (c) 2017-2018 Angelika Wittek
 Copyright (c) 2018 Elektronische Fahrwerksysteme GMBH
-Copyright (c) 2018 Karakun AG
 
 ## Declared Project Licenses
 
@@ -37,299 +33,11 @@
 
 The project maintains the following source code repositories:
 
-org.eclipse.mdm.api.base.git	      - The openMDM(R) API.
-org.eclipse.mdm.api.default.git	    - Extension of the openMDM(R) API containing default elements.
-org.eclipse.mdm.api.odsadapter.git	- ODS implementation of persistence adapter.
-org.eclipse.mdm.nucleus.git	        - Core building blocks for the openMDM Business Logic and Web Frontend.
+org.eclipse.mdm.realms.git  A GlassFish realm using ODS authentication.
 
 ## Third-party Content
 
-The Content includes items that have been sourced from third parties as set out below.
-If you did not receive this Content directly from the Eclipse Foundation, the following
-is provided for informational purposes only, and you should look to
-the Redistributor's license for terms and conditions of use.
-
-antlr4-4.5.3.jar(2.5.3)
-    * License: New BSD license
-
-aopalliance-repackaged-2.5.0-b05.jar (2.5.0-b05)
-    * License: CDDL
-
-commons-codec-1.2.jar (1.2)
-    * License: Apache License, 2.0
-
-commons-httpclient-3.1.jar  (3.1)
-    * License: Apache License, 2.0
-
-commons-lang3-3.4.jar (3.4)
-    * License: Apache License, 2.0
-
-gson-2.7.jar (2.7)
-    * License: Apache License, 2.0
-
-Google Guava Version: 25.0-jre  (25.0)
-    * License: Apache License, 2.0
-
-hk2-api-2.5.0-b05.jar (2.5.0-b05)
-    * License: CDDL-1.1
-
-hk2-locator-2.5.0-b05.jar(2.5.0-b05)
-    * License: CDDL
-
-hk2-utils-2.5.0-b05.jar  (2.5.0-b05)
-    * License: CDDL
-
-jackson-annotations-2.9.0.jar  (2.9.0)
-    * License: Apache License, 2.0
-
-jackson-core-2.9.2.jar(2.9.2)
-    * License: Apache License, 2.0
-
-jackson-databind-2.9.2.jar  (2.9.2)
-    * License: Apache License, 2.0
-
-jackson-jaxrs-base-2.9.2.jar(2.9.2)
-    * License: Apache License, 2.0
-
-jackson-jaxrs-json-provider-2.9.2.jar(2.9.2)
-    * License: Apache License, 2.0
-
-jackson-module-jaxb-annotations-2.9.2.jar  (2.9.2)
-    * License: Apache License, 2.0
-
-javassist-3.20.0-GA.jar  (2.20.0-GA)
-    * License: Apache 2.0
-
-javax.annotation-api-1.2.jar(1.2)
-    * License: Apache-2.0
-
-jcl-over-slf4j-1.7.25.jar(1.7.25)
-    * License: MIT License
-    * Licence Path: https://www.slf4j.org/license.html
-    * Project URL:  https://www.slf4j.org
-    * Source URL:   https://github.com/qos-ch/slf4j
-
-jersey-client-2.23.2.jar (2.23.2)
-     * License: CDDL
-
-jersey-common-2.23.2.jar (2.23.2)
-    * License: CDDL
-
-jersey-container-servlet-2.23.2.jar  (2.23.2)
-    * License: CDDL
-
-jersey-container-servlet-core-2.23.3.jar(2.23.2)
-    * License: CDDL
-
-jersey-guava-2.23.2.jar  (2.23.2)
-    * License: Apache License, 2.0
-
-jersey-media-jaxb-2.23.2.jar(2.23.2)
-    * License: CDDL
-
-jersey-media-sse-2.23.2.jar (2.23.2)
-    * License: CDDL
-
-jersey-server-2.23.2.jar (2.23.2)
-    * License: Apache-2.0
-
-logback-classic-1.2.3.jar(1.2.3)
-    * License: Eclipse Public License 1.0
-
-logback-core-1.2.3.jar(1.2.3)
-    * License: Eclipse Public License 1.0
-
-osgi-resource-locator-1.0.1.jar(1.0.1)
-    * License: CDDL
-
-protobuf-java-3.2.0.jar (3.2.0)
-    * License: New BSD license
-
-protobuf-java-util-3.2.0.jar  (3.2.0)
-    * License: New BSD license
-
-slf4j-api-1.7.25.jar  (1.7.25)
-    * License: MIT license
-    * Licence Path: https://www.slf4j.org/license.html
-    * Project URL: https://github.com/qos-ch/slf4j
-    * Source URL:  https://github.com/qos-ch/slf4j/releases/tag/v_1.7.25
-
-validation-api-1.1.0.Final.jar (1.1.0.Final)
-* License: Apache License, 2.0
-
-vavr-0.9.1-sources.jar (0.9.1)
-* License: Apache License, 2.0
-
-@angular/common@2.4.8
-    * License: MIT
-    * Licence Path: https://github.com/angular/angular/blob/master/LICENSE
-    * Project: https://github.com/angular/angular
-    * Source:  https://github.com/angular/angular
-
-@angular/compiler@2.4.8
-    * License: MIT
-    * Licence Path: https://github.com/angular/angular/blob/master/LICENSE
-    * Licence Path: https://github.com/angular/angular/blob/master/LICENSE
-    * Project: https://github.com/angular/angular
-    * Source:  https://github.com/angular/angular
-
-@angular/core@2.4.8
-    * License: MIT
-    * Licence Path: https://github.com/angular/angular/blob/master/LICENSE
-    * Project: https://github.com/angular/angular
-    * Source:  https://github.com/angular/angular
-
-@angular/forms@2.4.8
-    * License: MIT
-    * Licence Path: https://github.com/angular/angular/blob/master/LICENSE
-    * Project: https://github.com/angular/angular
-    * Source:  https://github.com/angular/angular
-
-@angular/http@2.4.8
-    * License: MIT
-    * Licence Path: https://github.com/angular/angular/blob/master/LICENSE
-    * Project: https://github.com/angular/angular
-    * Source:  https://github.com/angular/angular
-
-@angular/platform-browser-dynamic@2.4.8
-    * License: MIT
-    * Licence Path: https://github.com/angular/angular/blob/master/LICENSE
-    * Project: https://github.com/angular/angular
-    * Source:  https://github.com/angular/angular
-
-@angular/platform-browser@2.4.8
-    * License: MIT
-    * Licence Path: https://github.com/angular/angular/blob/master/LICENSE
-    * Project: https://github.com/angular/angular
-    * Source:  https://github.com/angular/angular
-
-@angular/router@3.4.8
-    * License: MIT
-    * Licence Path: https://github.com/angular/angular/blob/master/LICENSE
-    * Project: https://github.com/angular/angular
-    * Source:  https://github.com/angular/angular
-
-@types/file-saver@0.0.0
-    * License: MIT
-    * Licence Path: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/LICENSE
-    * Project: https://github.com/DefinitelyTyped/DefinitelyTyped
-    * Source:  https://github.com/DefinitelyTyped/DefinitelyTyped
-
-bootstrap@3.3.7
-    * License: MIT
-    * Licence Path: https://github.com/twbs/bootstrap/raw/master/LICENSE
-    * Project: https://github.com/twbs/bootstrap
-    * Source:  https://github.com/twbs/bootstrap
-
-class-transformer@0.1.6
-    * License: MIT
-    * Licence Path: https://github.com/typestack/class-transformer/blob/master/LICENSE
-    * Project: https://github.com/pleerock/class-transformer
-    * Source:  https://github.com/pleerock/class-transformer
-
-core-js@2.4.1
-    * License: MIT
-    * Licence Path: https://github.com/zloirock/core-js/raw/master/LICENSE
-    * Project: https://github.com/zloirock/core-js
-    * Source:  https://github.com/zloirock/core-js
-
-file-saver@1.3.3
-    * License: MIT
-    * Licence Path: https://github.com/eligrey/FileSaver.js/raw/master/LICENSE.md
-    * Project: https://github.com/eligrey/FileSaver.js
-    * Source:  https://github.com/eligrey/FileSaver.js
-
-font-awesome@4.7.0
-    * License: MIT
-    * Licence Path: https://github.com/FortAwesome/Font-Awesome/blob/master/LICENSE.txt
-    * Project: https://fontawesome.com/
-    * Source:  https://github.com/FortAwesome/Font-Awesome
-
-moment@2.17.1
-    * License: MIT
-    * Licence Path: https://github.com/moment/moment/raw/master/LICENSE
-    * Project: https://github.com/moment/moment
-    * Source:  https://github.com/moment/moment
-
-ngx-bootstrap@1.9.1
-    * License: MIT
-    * Licence Path: https://github.com/valor-software/ngx-bootstrap/blob/development/LICENSE
-    * Project: https://valor-software.com/ngx-bootstrap
-    * Source:  https://github.com/valor-software/ngx-bootstrap
-
-ng2-split-pane@1.3.1
-    * License: MIT
-    * Licence Path: https://github.com/wannabegeek/ng2-split-pane/raw/master/LICENSE
-    * Project: https://github.com/wannabegeek/ng2-split-pane
-    * Source:  https://github.com/wannabegeek/ng2-split-pane
-
-primeng@2.0.5
-    * License: MIT
-    * Licence Path: https://github.com/primefaces/primeng/raw/master/LICENSE.md
-    * Project: https://github.com/primefaces/primeng
-    * Source:  https://github.com/primefaces/primeng
-
-reflect-metadata@0.1.3
-    * License: Apache-2.0
-    * Project: https://github.com/rbuckton/ReflectDecorators
-    * Source:  https://github.com/rbuckton/ReflectDecorators
-
-rxjs@5.1.0
-    * License: Apache-2.0
-    * Project: https://github.com/ReactiveX/RxJS
-    * Source:  https://github.com/ReactiveX/RxJS
-
-symbol-observable@1.2.0
-    * License: MIT
-    * Licence Path: https://github.com/blesh/symbol-observable/raw/master/license
-    * Project: https://github.com/blesh/symbol-observable
-    * Source:  https://github.com/blesh/symbol-observable
-
-ts-helpers@1.1.1
-    * License: MIT
-    * Licence Path: https://github.com/ngParty/ts-helpers/raw/master/LICENSE
-    * Project: https://github.com/ngParty/ts-helpers
-    * Source:  https://github.com/ngParty/ts-helpers
-
-zone.js@0.7.6
-    * License: MIT
-    * Licence Path: https://github.com/angular/zone.js/raw/master/LICENSE
-    * Project: https://github.com/angular
-    * Source:  https://github.com/angular/zone.js
-    
-FFAMFAMFAM Silk Icon, Version 1.3
-    * License: Creative Commons Attribution 3.0 License 
-    * Licence Path: https://creativecommons.org/licenses/by/3.0/
-    * Project: http://www.famfamfam.com/lab/icons/silk/
-    * Source:  http://www.famfamfam.com/lab/icons/silk/
-
-ods530.idl
-Permission of use:
-From Hans-Georg Swolana, Chairman of the Board ASAM e.V.,
- Prof. Dr. Marcus Rieker, Member of the Board ASAM e.V.
-Date: Hoehenkirchen, 06/01/2016
-"The ASAM Board of Directors releases the IDL files for use under the EPL to the Eclipse IWG openMDM.
-This is valid for all versions of ASAM ODS 5.3.x.
-This permission is valid under the conditions of Eclipse will not modify the file."
-
-AvalonEvent.idl, CorbaFileServer.idl
-Permission of use:
-From Dr. Ralph Noerenberg
-Date: 08/15/2016
-"Herewith, we release the generated Client-Source-Code generated from our CORBA IDLs, namely
-* CORBANotification Service (generated from „AvalonEvent.idl”)
-* CORBAFileServer (generated from „CorbaFileServer.idl“),
-Under the Eclipse Public License (EPL). This agreement does not include the „AvalonEvent.idl“ and
-„CorbaFileServer.idl“ itself, which remain protected property of HighQSoft. "
-
-OMG Notification Service Specification Version: 1.1
-The terms of use are defined in section "Freely Available And Available
-Free" see: http://www.omg.org/gettingstarted/overview.htm
-
-OMG Event Service Specification Version: 1.2
-The terms of use are defined in section "Freely Available And Available
-Free" see: http://www.omg.org/gettingstarted/overview.htm
-
+no
 
 ## Cryptography
 
diff --git a/README.md b/README.md
index cfbdb78..e2e2be4 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,16 @@
-<!--
-Copyright (c) 2016 Gigatronik Ingolstadt GmbH
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
--->
+/********************************************************************************
+ * Copyright (c) 2015-2018 Contributors to the Eclipse Foundation
+ *
+ * See the NOTICE file(s) distributed with this work for additional
+ * information regarding copyright ownership.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ ********************************************************************************/
  
 ## available realms
 
