diff --git a/makefile b/makefile
index e900742bededb1651c9e64963efe6db01014903e..b348e696c719de03ed171a58eda1f1aaa15e83a9 100644
--- a/makefile
+++ b/makefile
@@ -23,10 +23,14 @@
 # ** end header
 #
 
+CAOSDB_SERVER_VERSION ?= $(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout)
 SHELL:=/bin/bash
 JPDA_PORT ?= 9000
 JMX_PORT ?= 9090
 
+echoversion:
+	echo $(CAOSDB_SERVER_VERSION)
+
 compile: easy-units
 	mvn compile
 
diff --git a/pom.xml b/pom.xml
index 65174bd706023526d6aba948cf890dd2e73dc3bf..ad25a348516752db81e2e7204c15db08e53d0cbc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,9 +23,9 @@
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
-  <groupId>bmp.ds.mpg.de</groupId>
+  <groupId>org.caosdb</groupId>
   <artifactId>caosdb-server</artifactId>
-  <version>0.1-SNAPSHOT</version>
+  <version>0.2</version>
   <packaging>jar</packaging>
   <name>CaosDB Server</name>
   <properties>
diff --git a/src/main/java/caosdb/server/database/BackendTransaction.java b/src/main/java/caosdb/server/database/BackendTransaction.java
deleted file mode 100644
index 55987005d2c8c76f432cb12065f45b598075ec9c..0000000000000000000000000000000000000000
--- a/src/main/java/caosdb/server/database/BackendTransaction.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * ** header v3.0
- * This file is a part of the CaosDB Project.
- *
- * Copyright (C) 2018 Research Group Biomedical Physics,
- *   Max-Planck-Institute for Dynamics and Self-Organization Göttingen
- * Copyright (C) 2020 IndiScale GmbH
- * Copyright (C) 2020 Timm Fitschen (t.fitschen@indiscale.com)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- *
- * ** end header
- */
-package caosdb.server.database;
-
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.implementation.MySQL.MySQLDeleteEntityProperties;
-import caosdb.server.database.backend.implementation.MySQL.MySQLDeletePassword;
-import caosdb.server.database.backend.implementation.MySQL.MySQLDeleteRole;
-import caosdb.server.database.backend.implementation.MySQL.MySQLDeleteSparseEntity;
-import caosdb.server.database.backend.implementation.MySQL.MySQLDeleteUser;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetAllNames;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetChildren;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetDependentEntities;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetFileRecordByPath;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetIDByName;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetInfo;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetUpdateableChecksums;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertEntityDatatype;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertEntityProperties;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertLinCon;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertLogRecord;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertParents;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertRole;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertSparseEntity;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertTransactionHistory;
-import caosdb.server.database.backend.implementation.MySQL.MySQLIsSubType;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRegisterSubDomain;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveAll;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveAllUncheckedFiles;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveDatatypes;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveLogRecord;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveParents;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrievePasswordValidator;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrievePermissionRules;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveProperties;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveQueryTemplateDefinition;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveRole;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveSparseEntity;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveTransactionHistory;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveUser;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveVersionHistory;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRuleLoader;
-import caosdb.server.database.backend.implementation.MySQL.MySQLSetFileCheckedTimestampImpl;
-import caosdb.server.database.backend.implementation.MySQL.MySQLSetPassword;
-import caosdb.server.database.backend.implementation.MySQL.MySQLSetPermissionRules;
-import caosdb.server.database.backend.implementation.MySQL.MySQLSetQueryTemplateDefinition;
-import caosdb.server.database.backend.implementation.MySQL.MySQLSyncStats;
-import caosdb.server.database.backend.implementation.MySQL.MySQLUpdateSparseEntity;
-import caosdb.server.database.backend.implementation.MySQL.MySQLUpdateUser;
-import caosdb.server.database.backend.implementation.MySQL.MySQLUpdateUserRoles;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemCheckHash;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemCheckSize;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemFileExists;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemFileWasModifiedAfter;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemGetFileIterator;
-import caosdb.server.database.backend.interfaces.BackendTransactionImpl;
-import caosdb.server.database.backend.interfaces.DeleteEntityPropertiesImpl;
-import caosdb.server.database.backend.interfaces.DeletePasswordImpl;
-import caosdb.server.database.backend.interfaces.DeleteRoleImpl;
-import caosdb.server.database.backend.interfaces.DeleteSparseEntityImpl;
-import caosdb.server.database.backend.interfaces.DeleteUserImpl;
-import caosdb.server.database.backend.interfaces.FileCheckHash;
-import caosdb.server.database.backend.interfaces.FileCheckSize;
-import caosdb.server.database.backend.interfaces.FileExists;
-import caosdb.server.database.backend.interfaces.FileWasModifiedAfter;
-import caosdb.server.database.backend.interfaces.GetAllNamesImpl;
-import caosdb.server.database.backend.interfaces.GetChildrenImpl;
-import caosdb.server.database.backend.interfaces.GetDependentEntitiesImpl;
-import caosdb.server.database.backend.interfaces.GetFileIteratorImpl;
-import caosdb.server.database.backend.interfaces.GetFileRecordByPathImpl;
-import caosdb.server.database.backend.interfaces.GetIDByNameImpl;
-import caosdb.server.database.backend.interfaces.GetInfoImpl;
-import caosdb.server.database.backend.interfaces.GetUpdateableChecksumsImpl;
-import caosdb.server.database.backend.interfaces.InsertEntityDatatypeImpl;
-import caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
-import caosdb.server.database.backend.interfaces.InsertLinConImpl;
-import caosdb.server.database.backend.interfaces.InsertLogRecordImpl;
-import caosdb.server.database.backend.interfaces.InsertParentsImpl;
-import caosdb.server.database.backend.interfaces.InsertRoleImpl;
-import caosdb.server.database.backend.interfaces.InsertSparseEntityImpl;
-import caosdb.server.database.backend.interfaces.InsertTransactionHistoryImpl;
-import caosdb.server.database.backend.interfaces.IsSubTypeImpl;
-import caosdb.server.database.backend.interfaces.RegisterSubDomainImpl;
-import caosdb.server.database.backend.interfaces.RetrieveAllImpl;
-import caosdb.server.database.backend.interfaces.RetrieveAllUncheckedFilesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveDatatypesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveLogRecordImpl;
-import caosdb.server.database.backend.interfaces.RetrieveParentsImpl;
-import caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.backend.interfaces.RetrievePropertiesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveQueryTemplateDefinitionImpl;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.backend.interfaces.RetrieveSparseEntityImpl;
-import caosdb.server.database.backend.interfaces.RetrieveTransactionHistoryImpl;
-import caosdb.server.database.backend.interfaces.RetrieveUserImpl;
-import caosdb.server.database.backend.interfaces.RetrieveVersionHistoryImpl;
-import caosdb.server.database.backend.interfaces.RuleLoaderImpl;
-import caosdb.server.database.backend.interfaces.SetFileCheckedTimestampImpl;
-import caosdb.server.database.backend.interfaces.SetPasswordImpl;
-import caosdb.server.database.backend.interfaces.SetPermissionRulesImpl;
-import caosdb.server.database.backend.interfaces.SetQueryTemplateDefinitionImpl;
-import caosdb.server.database.backend.interfaces.SyncStatsImpl;
-import caosdb.server.database.backend.interfaces.UpdateSparseEntityImpl;
-import caosdb.server.database.backend.interfaces.UpdateUserImpl;
-import caosdb.server.database.backend.interfaces.UpdateUserRolesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.utils.UndoHandler;
-import caosdb.server.utils.Undoable;
-import java.util.HashMap;
-
-public abstract class BackendTransaction implements Undoable {
-
-  private final UndoHandler undoHandler = new UndoHandler();
-  private Access access;
-  private TransactionBenchmark benchmark;
-  private static HashMap<
-          Class<? extends BackendTransactionImpl>, Class<? extends BackendTransactionImpl>>
-      impl = new HashMap<>();
-
-  protected abstract void execute();
-
-  public final void executeTransaction() {
-    final long t1 = System.currentTimeMillis();
-    execute();
-    final long t2 = System.currentTimeMillis();
-    this.addMeasurement(this, t2 - t1);
-  }
-
-  /**
-   * Intialiaze the adapters to the database backend.
-   *
-   * <p>Currently this is hard-coded to the MySQL-Backend but the architecture of this class is
-   * designed to make it easy in the future to choose other implementations (i.e. other back-ends)
-   */
-  public static void init() {
-    if (impl.isEmpty()) {
-      setImpl(GetAllNamesImpl.class, MySQLGetAllNames.class);
-      setImpl(DeleteEntityPropertiesImpl.class, MySQLDeleteEntityProperties.class);
-      setImpl(DeleteSparseEntityImpl.class, MySQLDeleteSparseEntity.class);
-      setImpl(GetChildrenImpl.class, MySQLGetChildren.class);
-      setImpl(GetDependentEntitiesImpl.class, MySQLGetDependentEntities.class);
-      setImpl(GetIDByNameImpl.class, MySQLGetIDByName.class);
-      setImpl(GetInfoImpl.class, MySQLGetInfo.class);
-      setImpl(InsertEntityPropertiesImpl.class, MySQLInsertEntityProperties.class);
-      setImpl(InsertLinConImpl.class, MySQLInsertLinCon.class);
-      setImpl(InsertParentsImpl.class, MySQLInsertParents.class);
-      setImpl(InsertSparseEntityImpl.class, MySQLInsertSparseEntity.class);
-      setImpl(InsertTransactionHistoryImpl.class, MySQLInsertTransactionHistory.class);
-      setImpl(IsSubTypeImpl.class, MySQLIsSubType.class);
-      setImpl(UpdateSparseEntityImpl.class, MySQLUpdateSparseEntity.class);
-      setImpl(RetrieveAllImpl.class, MySQLRetrieveAll.class);
-      setImpl(RegisterSubDomainImpl.class, MySQLRegisterSubDomain.class);
-      setImpl(RetrieveDatatypesImpl.class, MySQLRetrieveDatatypes.class);
-      setImpl(RetrieveTransactionHistoryImpl.class, MySQLRetrieveTransactionHistory.class);
-      setImpl(RetrieveUserImpl.class, MySQLRetrieveUser.class);
-      setImpl(RetrieveParentsImpl.class, MySQLRetrieveParents.class);
-      setImpl(GetFileRecordByPathImpl.class, MySQLGetFileRecordByPath.class);
-      setImpl(RetrievePropertiesImpl.class, MySQLRetrieveProperties.class);
-      setImpl(RetrieveSparseEntityImpl.class, MySQLRetrieveSparseEntity.class);
-      setImpl(RuleLoaderImpl.class, MySQLRuleLoader.class);
-      setImpl(SyncStatsImpl.class, MySQLSyncStats.class);
-      setImpl(FileExists.class, UnixFileSystemFileExists.class);
-      setImpl(FileWasModifiedAfter.class, UnixFileSystemFileWasModifiedAfter.class);
-      setImpl(FileCheckHash.class, UnixFileSystemCheckHash.class);
-      setImpl(GetFileIteratorImpl.class, UnixFileSystemGetFileIterator.class);
-      setImpl(SetFileCheckedTimestampImpl.class, MySQLSetFileCheckedTimestampImpl.class);
-      setImpl(RetrieveAllUncheckedFilesImpl.class, MySQLRetrieveAllUncheckedFiles.class);
-      setImpl(UpdateUserImpl.class, MySQLUpdateUser.class);
-      setImpl(DeleteUserImpl.class, MySQLDeleteUser.class);
-      setImpl(SetPasswordImpl.class, MySQLSetPassword.class);
-      setImpl(RetrievePasswordValidatorImpl.class, MySQLRetrievePasswordValidator.class);
-      setImpl(DeletePasswordImpl.class, MySQLDeletePassword.class);
-      setImpl(GetUpdateableChecksumsImpl.class, MySQLGetUpdateableChecksums.class);
-      setImpl(FileCheckSize.class, UnixFileSystemCheckSize.class);
-      setImpl(InsertRoleImpl.class, MySQLInsertRole.class);
-      setImpl(RetrieveRoleImpl.class, MySQLRetrieveRole.class);
-      setImpl(DeleteRoleImpl.class, MySQLDeleteRole.class);
-      setImpl(SetPermissionRulesImpl.class, MySQLSetPermissionRules.class);
-      setImpl(RetrievePermissionRulesImpl.class, MySQLRetrievePermissionRules.class);
-      setImpl(UpdateUserRolesImpl.class, MySQLUpdateUserRoles.class);
-      setImpl(InsertLogRecordImpl.class, MySQLInsertLogRecord.class);
-      setImpl(RetrieveLogRecordImpl.class, MySQLRetrieveLogRecord.class);
-      setImpl(SetQueryTemplateDefinitionImpl.class, MySQLSetQueryTemplateDefinition.class);
-      setImpl(
-          RetrieveQueryTemplateDefinitionImpl.class, MySQLRetrieveQueryTemplateDefinition.class);
-      setImpl(InsertEntityDatatypeImpl.class, MySQLInsertEntityDatatype.class);
-      setImpl(RetrieveVersionHistoryImpl.class, MySQLRetrieveVersionHistory.class);
-    }
-  }
-
-  /**
-   * Execute this BackendTransaction, using the implementation given as an argument.
-   *
-   * <p>The implementation's benchmark is set to the corresponding sub-benchmark of this object's
-   * benchmark.
-   *
-   * @param t This BackendTransaction's execute() method will be called.
-   * @return The BackendTransaction which was passed as an argument.
-   */
-  protected <K extends BackendTransaction> K execute(final K t) {
-    assert t != this;
-    this.undoHandler.append(t);
-    t.setAccess(this.access);
-    if (benchmark != null) {
-      t.setTransactionBenchmark(benchmark.getBenchmark(t.getClass()));
-    }
-    final long t1 = System.currentTimeMillis();
-    t.execute();
-    final long t2 = System.currentTimeMillis();
-    this.addMeasurement(t, t2 - t1);
-    return t;
-  }
-
-  public static <K extends BackendTransactionImpl, L extends K> void setImpl(
-      final Class<K> k, final Class<L> l) {
-    impl.put(k, l);
-  }
-
-  public void setAccess(final Access access) {
-    this.access = access;
-  }
-
-  @SuppressWarnings("unchecked")
-  protected <T extends BackendTransactionImpl> T getImplementation(final Class<T> clz) {
-    init();
-    try {
-      Class<?> implclz = impl.get(clz);
-      final T ret = (T) implclz.getConstructor(Access.class).newInstance(this.access);
-      if (ret instanceof Undoable) {
-        this.undoHandler.append((Undoable) ret);
-      }
-      if (benchmark != null) {
-        ret.setTransactionBenchmark(benchmark.getBenchmark(ret.getClass()));
-      }
-      return ret;
-    } catch (final Exception e) {
-      throw new TransactionException(e);
-    }
-  }
-
-  protected UndoHandler getUndoHandler() {
-    return this.undoHandler;
-  }
-
-  @Override
-  public final void undo() {
-    this.undoHandler.undo();
-  }
-
-  @Override
-  public final void cleanUp() {
-    this.undoHandler.cleanUp();
-  }
-
-  boolean useCache() {
-    return this.access.useCache();
-  }
-
-  @Override
-  public String toString() {
-    return this.getClass().getSimpleName();
-  }
-
-  /** Set the benchmark object for this AbstractTransaction. */
-  public void setTransactionBenchmark(TransactionBenchmark b) {
-    this.benchmark = b;
-  }
-
-  public void addMeasurement(Object o, long time) {
-    if (this.benchmark != null) {
-      this.benchmark.addMeasurement(o, time);
-    }
-  }
-}
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java b/src/main/java/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java
deleted file mode 100644
index 2f6f7c859281344997e1c781e9a56aafa5d03fc4..0000000000000000000000000000000000000000
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package caosdb.server.database.backend.interfaces;
-
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.utils.Undoable;
-
-public interface InsertEntityDatatypeImpl extends BackendTransactionImpl, Undoable {
-  public abstract void execute(SparseEntity entity);
-}
diff --git a/src/main/java/caosdb/datetime/Date.java b/src/main/java/org/caosdb/datetime/Date.java
similarity index 96%
rename from src/main/java/caosdb/datetime/Date.java
rename to src/main/java/org/caosdb/datetime/Date.java
index b0d025df6382ef52cf18105aa5601fb4cda3c869..2b7aa522272f48b468dd8c4945360dee14f52d6e 100644
--- a/src/main/java/caosdb/datetime/Date.java
+++ b/src/main/java/org/caosdb/datetime/Date.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
 import java.util.Calendar;
 import java.util.GregorianCalendar;
 import java.util.TimeZone;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 import org.jdom2.Element;
 
 public class Date extends SemiCompleteDateTime {
diff --git a/src/main/java/caosdb/datetime/DateTimeFactory2.java b/src/main/java/org/caosdb/datetime/DateTimeFactory2.java
similarity index 97%
rename from src/main/java/caosdb/datetime/DateTimeFactory2.java
rename to src/main/java/org/caosdb/datetime/DateTimeFactory2.java
index 40aa7473c1f0e0424243387be0871f4a900668b8..103359c7b4ff6f995996866e2283bab47562699c 100644
--- a/src/main/java/caosdb/datetime/DateTimeFactory2.java
+++ b/src/main/java/org/caosdb/datetime/DateTimeFactory2.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
-import caosdb.server.query.CQLParsingErrorListener;
-import caosdb.server.query.CQLParsingErrorListener.ParsingError;
 import java.util.Arrays;
 import java.util.Calendar;
 import java.util.TimeZone;
 import org.antlr.v4.runtime.CharStreams;
 import org.antlr.v4.runtime.CommonTokenStream;
+import org.caosdb.server.query.CQLParsingErrorListener;
+import org.caosdb.server.query.CQLParsingErrorListener.ParsingError;
 
 public class DateTimeFactory2 implements DateTimeFactoryInterface {
 
diff --git a/src/main/java/caosdb/datetime/DateTimeFactoryInterface.java b/src/main/java/org/caosdb/datetime/DateTimeFactoryInterface.java
similarity index 98%
rename from src/main/java/caosdb/datetime/DateTimeFactoryInterface.java
rename to src/main/java/org/caosdb/datetime/DateTimeFactoryInterface.java
index 89ce60d338668bcf95aec207cd82f16a46d6d49b..c81018f939747344b6991e291d3439f164dad283 100644
--- a/src/main/java/caosdb/datetime/DateTimeFactoryInterface.java
+++ b/src/main/java/org/caosdb/datetime/DateTimeFactoryInterface.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import java.util.Date;
 
diff --git a/src/main/java/caosdb/datetime/DateTimeInterface.java b/src/main/java/org/caosdb/datetime/DateTimeInterface.java
similarity index 93%
rename from src/main/java/caosdb/datetime/DateTimeInterface.java
rename to src/main/java/org/caosdb/datetime/DateTimeInterface.java
index 33d508cc9ba698410914d74d1f8227d57bb1ded8..e6f1b93382da7deaf1ec1226d193fe1db4b3735d 100644
--- a/src/main/java/caosdb/datetime/DateTimeInterface.java
+++ b/src/main/java/org/caosdb/datetime/DateTimeInterface.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
-import caosdb.server.datatype.SingleValue;
 import java.util.TimeZone;
+import org.caosdb.server.datatype.SingleValue;
 
 public interface DateTimeInterface extends SingleValue {
 
diff --git a/src/main/java/caosdb/datetime/DateTimeLexer.g4 b/src/main/java/org/caosdb/datetime/DateTimeLexer.g4
similarity index 100%
rename from src/main/java/caosdb/datetime/DateTimeLexer.g4
rename to src/main/java/org/caosdb/datetime/DateTimeLexer.g4
diff --git a/src/main/java/caosdb/datetime/DateTimeParser.g4 b/src/main/java/org/caosdb/datetime/DateTimeParser.g4
similarity index 100%
rename from src/main/java/caosdb/datetime/DateTimeParser.g4
rename to src/main/java/org/caosdb/datetime/DateTimeParser.g4
diff --git a/src/main/java/caosdb/datetime/DateTimeStringStrategy.java b/src/main/java/org/caosdb/datetime/DateTimeStringStrategy.java
similarity index 97%
rename from src/main/java/caosdb/datetime/DateTimeStringStrategy.java
rename to src/main/java/org/caosdb/datetime/DateTimeStringStrategy.java
index 299a1b78a913a6abea3c8abcdec265eb78996cc4..635b2cfa0569e62847e8f4f2af0684c5919e8f8d 100644
--- a/src/main/java/caosdb/datetime/DateTimeStringStrategy.java
+++ b/src/main/java/org/caosdb/datetime/DateTimeStringStrategy.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import java.util.TimeZone;
 
diff --git a/src/main/java/caosdb/datetime/FragmentDateTime.java b/src/main/java/org/caosdb/datetime/FragmentDateTime.java
similarity index 98%
rename from src/main/java/caosdb/datetime/FragmentDateTime.java
rename to src/main/java/org/caosdb/datetime/FragmentDateTime.java
index 46bec5498284f842dbea83dcf41848d088d5d9bc..52faf5f2040de56c05bb7ce4b5aee130fadf67c3 100644
--- a/src/main/java/caosdb/datetime/FragmentDateTime.java
+++ b/src/main/java/org/caosdb/datetime/FragmentDateTime.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import java.util.TimeZone;
 
diff --git a/src/main/java/caosdb/datetime/GregorianCalendarDateTimeStringStrategy.java b/src/main/java/org/caosdb/datetime/GregorianCalendarDateTimeStringStrategy.java
similarity index 98%
rename from src/main/java/caosdb/datetime/GregorianCalendarDateTimeStringStrategy.java
rename to src/main/java/org/caosdb/datetime/GregorianCalendarDateTimeStringStrategy.java
index 22e83dc7070e1adf726af251a106c7d8b1ba7cab..459f1d592beca6b62704e9592c6afe39c1104f57 100644
--- a/src/main/java/caosdb/datetime/GregorianCalendarDateTimeStringStrategy.java
+++ b/src/main/java/org/caosdb/datetime/GregorianCalendarDateTimeStringStrategy.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
diff --git a/src/main/java/caosdb/datetime/Interval.java b/src/main/java/org/caosdb/datetime/Interval.java
similarity index 97%
rename from src/main/java/caosdb/datetime/Interval.java
rename to src/main/java/org/caosdb/datetime/Interval.java
index 59a3915e53abf1b88f281359bd115d776125f47f..9890fb4c0643c498dc5e7d5108b9c9c4a13cc9b8 100644
--- a/src/main/java/caosdb/datetime/Interval.java
+++ b/src/main/java/org/caosdb/datetime/Interval.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 public interface Interval extends DateTimeInterface {
 
diff --git a/src/main/java/caosdb/datetime/LeapSecondDateTimeStringStrategy.java b/src/main/java/org/caosdb/datetime/LeapSecondDateTimeStringStrategy.java
similarity index 98%
rename from src/main/java/caosdb/datetime/LeapSecondDateTimeStringStrategy.java
rename to src/main/java/org/caosdb/datetime/LeapSecondDateTimeStringStrategy.java
index 28beb7603ac798f1399b108fe87f1b729975a537..5aff2dce7979e32f595c4ec8bae12378239cc3dc 100644
--- a/src/main/java/caosdb/datetime/LeapSecondDateTimeStringStrategy.java
+++ b/src/main/java/org/caosdb/datetime/LeapSecondDateTimeStringStrategy.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
diff --git a/src/main/java/caosdb/datetime/SemiCompleteDateTime.java b/src/main/java/org/caosdb/datetime/SemiCompleteDateTime.java
similarity index 98%
rename from src/main/java/caosdb/datetime/SemiCompleteDateTime.java
rename to src/main/java/org/caosdb/datetime/SemiCompleteDateTime.java
index 55a7f5d567f1ec5be9902135f45393699195d549..5bd4daca00dae6c70473b76147736e65dcc2da68 100644
--- a/src/main/java/caosdb/datetime/SemiCompleteDateTime.java
+++ b/src/main/java/org/caosdb/datetime/SemiCompleteDateTime.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
 import java.util.TimeZone;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 import org.jdom2.Element;
 
 public class SemiCompleteDateTime extends FragmentDateTime implements Interval {
diff --git a/src/main/java/caosdb/datetime/UTCDateTime.java b/src/main/java/org/caosdb/datetime/UTCDateTime.java
similarity index 99%
rename from src/main/java/caosdb/datetime/UTCDateTime.java
rename to src/main/java/org/caosdb/datetime/UTCDateTime.java
index db66ef0ad08abf0d52a8f3b1b97c6a20cc613c8a..0ecb3ac60dfe796692c344e590f3935c36fceac3 100644
--- a/src/main/java/caosdb/datetime/UTCDateTime.java
+++ b/src/main/java/org/caosdb/datetime/UTCDateTime.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.GregorianCalendar;
 import java.util.TimeZone;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 import org.jdom2.Element;
 
 public class UTCDateTime implements Interval {
diff --git a/src/main/java/caosdb/datetime/UTCTimeZoneShift.java b/src/main/java/org/caosdb/datetime/UTCTimeZoneShift.java
similarity index 99%
rename from src/main/java/caosdb/datetime/UTCTimeZoneShift.java
rename to src/main/java/org/caosdb/datetime/UTCTimeZoneShift.java
index a5930d7d72250749d351000343e92ee4b24a02ac..b601e68c6933518db2f579fa5ffcc7f46c28906f 100644
--- a/src/main/java/caosdb/datetime/UTCTimeZoneShift.java
+++ b/src/main/java/org/caosdb/datetime/UTCTimeZoneShift.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import java.util.Date;
 import java.util.TimeZone;
diff --git a/src/main/java/caosdb/server/CaosAuthenticator.java b/src/main/java/org/caosdb/server/CaosAuthenticator.java
similarity index 91%
rename from src/main/java/caosdb/server/CaosAuthenticator.java
rename to src/main/java/org/caosdb/server/CaosAuthenticator.java
index 8fefee3b453dabc0c613228e2495acacb19deaa0..b26e50008e47fbf471e8721423aff9b583ce571a 100644
--- a/src/main/java/caosdb/server/CaosAuthenticator.java
+++ b/src/main/java/org/caosdb/server/CaosAuthenticator.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.resource.DefaultResource;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authc.AuthenticationToken;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.resource.DefaultResource;
+import org.caosdb.server.utils.ServerMessages;
 import org.restlet.Context;
 import org.restlet.Request;
 import org.restlet.Response;
diff --git a/src/main/java/caosdb/server/CaosAuthorizer.java b/src/main/java/org/caosdb/server/CaosAuthorizer.java
similarity index 92%
rename from src/main/java/caosdb/server/CaosAuthorizer.java
rename to src/main/java/org/caosdb/server/CaosAuthorizer.java
index 7b0e0194b8aeb2e5f7a33e0e6be8d2ff52afaf6e..58e814a374ae2d7c5018d041b23eb4fdafa39ef0 100644
--- a/src/main/java/caosdb/server/CaosAuthorizer.java
+++ b/src/main/java/org/caosdb/server/CaosAuthorizer.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
-import caosdb.server.resource.DefaultResource;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.resource.DefaultResource;
+import org.caosdb.server.utils.ServerMessages;
 import org.restlet.Request;
 import org.restlet.Response;
 import org.restlet.security.Authorizer;
diff --git a/src/main/java/caosdb/server/CaosDBException.java b/src/main/java/org/caosdb/server/CaosDBException.java
similarity index 97%
rename from src/main/java/caosdb/server/CaosDBException.java
rename to src/main/java/org/caosdb/server/CaosDBException.java
index 3e0e50769cd3f08423ea83fa851b2cdfca54e50f..e01882bf815afbfb63ddd10a440167a41aa6f141 100644
--- a/src/main/java/caosdb/server/CaosDBException.java
+++ b/src/main/java/org/caosdb/server/CaosDBException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
 public class CaosDBException extends RuntimeException {
 
diff --git a/src/main/java/caosdb/server/CaosDBServer.java b/src/main/java/org/caosdb/server/CaosDBServer.java
similarity index 92%
rename from src/main/java/caosdb/server/CaosDBServer.java
rename to src/main/java/org/caosdb/server/CaosDBServer.java
index cdee262f08836071d19e5a75038f4291a917b1ff..bad0bb353c014a96deb63e03553da604ac8c3bc4 100644
--- a/src/main/java/caosdb/server/CaosDBServer.java
+++ b/src/main/java/org/caosdb/server/CaosDBServer.java
@@ -17,53 +17,8 @@
  *
  * ** end header
  */
-package caosdb.server;
-
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.AnonymousRealm;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.CaosDBAuthorizingRealm;
-import caosdb.server.accessControl.CaosDBDefaultRealm;
-import caosdb.server.accessControl.ConsumedInfoCleanupJob;
-import caosdb.server.accessControl.OneTimeAuthenticationToken;
-import caosdb.server.accessControl.SessionToken;
-import caosdb.server.accessControl.SessionTokenRealm;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.RetrieveDatatypes;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.container.Container;
-import caosdb.server.logging.RequestErrorLogMessage;
-import caosdb.server.resource.AuthenticationResource;
-import caosdb.server.resource.DefaultResource;
-import caosdb.server.resource.EntityOwnerResource;
-import caosdb.server.resource.EntityPermissionsResource;
-import caosdb.server.resource.FileSystemResource;
-import caosdb.server.resource.InfoResource;
-import caosdb.server.resource.LogoutResource;
-import caosdb.server.resource.PermissionRulesResource;
-import caosdb.server.resource.RolesResource;
-import caosdb.server.resource.ScriptingResource;
-import caosdb.server.resource.ServerLogsResource;
-import caosdb.server.resource.ServerPropertiesResource;
-import caosdb.server.resource.SharedFileResource;
-import caosdb.server.resource.ThumbnailsResource;
-import caosdb.server.resource.UserResource;
-import caosdb.server.resource.UserRolesResource;
-import caosdb.server.resource.Webinterface;
-import caosdb.server.resource.WebinterfaceBuildNumber;
-import caosdb.server.resource.transaction.EntityNamesResource;
-import caosdb.server.resource.transaction.EntityResource;
-import caosdb.server.terminal.CaosDBTerminal;
-import caosdb.server.terminal.StatsPanel;
-import caosdb.server.terminal.SystemErrPanel;
-import caosdb.server.transaction.ChecksumUpdater;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.Initialization;
-import caosdb.server.utils.NullPrintStream;
+package org.caosdb.server;
+
 import java.io.BufferedReader;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -85,6 +40,51 @@ import org.apache.shiro.env.BasicIniEnvironment;
 import org.apache.shiro.mgt.SecurityManager;
 import org.apache.shiro.subject.Subject;
 import org.apache.shiro.util.ThreadContext;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.AnonymousRealm;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.CaosDBAuthorizingRealm;
+import org.caosdb.server.accessControl.CaosDBDefaultRealm;
+import org.caosdb.server.accessControl.ConsumedInfoCleanupJob;
+import org.caosdb.server.accessControl.OneTimeAuthenticationToken;
+import org.caosdb.server.accessControl.SessionToken;
+import org.caosdb.server.accessControl.SessionTokenRealm;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.RetrieveDatatypes;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.container.Container;
+import org.caosdb.server.logging.RequestErrorLogMessage;
+import org.caosdb.server.resource.AuthenticationResource;
+import org.caosdb.server.resource.DefaultResource;
+import org.caosdb.server.resource.EntityOwnerResource;
+import org.caosdb.server.resource.EntityPermissionsResource;
+import org.caosdb.server.resource.FileSystemResource;
+import org.caosdb.server.resource.InfoResource;
+import org.caosdb.server.resource.LogoutResource;
+import org.caosdb.server.resource.PermissionRulesResource;
+import org.caosdb.server.resource.RolesResource;
+import org.caosdb.server.resource.ScriptingResource;
+import org.caosdb.server.resource.ServerLogsResource;
+import org.caosdb.server.resource.ServerPropertiesResource;
+import org.caosdb.server.resource.SharedFileResource;
+import org.caosdb.server.resource.ThumbnailsResource;
+import org.caosdb.server.resource.UserResource;
+import org.caosdb.server.resource.UserRolesResource;
+import org.caosdb.server.resource.Webinterface;
+import org.caosdb.server.resource.WebinterfaceBuildNumber;
+import org.caosdb.server.resource.transaction.EntityNamesResource;
+import org.caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.terminal.CaosDBTerminal;
+import org.caosdb.server.terminal.StatsPanel;
+import org.caosdb.server.terminal.SystemErrPanel;
+import org.caosdb.server.transaction.ChecksumUpdater;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.Initialization;
+import org.caosdb.server.utils.NullPrintStream;
 import org.quartz.JobDetail;
 import org.quartz.Scheduler;
 import org.quartz.SchedulerException;
diff --git a/src/main/java/caosdb/server/CaosDBServerConnectorHelper.java b/src/main/java/org/caosdb/server/CaosDBServerConnectorHelper.java
similarity index 98%
rename from src/main/java/caosdb/server/CaosDBServerConnectorHelper.java
rename to src/main/java/org/caosdb/server/CaosDBServerConnectorHelper.java
index 718d9a5ed5d4007c5c5b6b5b24b940e6973c8f34..8a9749bc2225d71b87ea338a88db3f9aa9596bba 100644
--- a/src/main/java/caosdb/server/CaosDBServerConnectorHelper.java
+++ b/src/main/java/org/caosdb/server/CaosDBServerConnectorHelper.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
 import java.util.LinkedList;
 import org.restlet.Server;
diff --git a/src/main/java/caosdb/server/FileSystem.java b/src/main/java/org/caosdb/server/FileSystem.java
similarity index 95%
rename from src/main/java/caosdb/server/FileSystem.java
rename to src/main/java/org/caosdb/server/FileSystem.java
index 79e764b96d3b477a57b90b83b1a3f437a1d21266..6bff612ca69acc24b699f8807b6969e343c60fb3 100644
--- a/src/main/java/caosdb/server/FileSystem.java
+++ b/src/main/java/org/caosdb/server/FileSystem.java
@@ -22,18 +22,8 @@
  * ** end header
  */
 
-package caosdb.server;
-
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.GetFileRecordByPath;
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.Utils;
+package org.caosdb.server;
+
 import com.google.common.io.Files;
 import java.io.File;
 import java.io.FileOutputStream;
@@ -45,6 +35,16 @@ import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.regex.Pattern;
 import org.apache.commons.fileupload.FileItemStream;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.GetFileRecordByPath;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.Utils;
 
 public class FileSystem {
   private static String filesystem = null;
diff --git a/src/main/java/caosdb/server/HttpToHttpsRedirector.java b/src/main/java/org/caosdb/server/HttpToHttpsRedirector.java
similarity index 98%
rename from src/main/java/caosdb/server/HttpToHttpsRedirector.java
rename to src/main/java/org/caosdb/server/HttpToHttpsRedirector.java
index 6e250028bbec9450bb2984d9cf1922d0d4e45cb5..5f15406faa837d311a8e5bf62b5e8dd28209d094 100644
--- a/src/main/java/caosdb/server/HttpToHttpsRedirector.java
+++ b/src/main/java/org/caosdb/server/HttpToHttpsRedirector.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
 import org.restlet.Request;
 import org.restlet.Response;
diff --git a/src/main/java/caosdb/server/ServerProperties.java b/src/main/java/org/caosdb/server/ServerProperties.java
similarity index 99%
rename from src/main/java/caosdb/server/ServerProperties.java
rename to src/main/java/org/caosdb/server/ServerProperties.java
index 29ba470ddbcad0e79db210917234562c4b58620a..d2f8e14dcbf66337bea28ef7276264c5b8dbf8f2 100644
--- a/src/main/java/caosdb/server/ServerProperties.java
+++ b/src/main/java/org/caosdb/server/ServerProperties.java
@@ -22,7 +22,7 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
 import java.io.BufferedInputStream;
 import java.io.File;
diff --git a/src/main/java/caosdb/server/ServerPropertiesSerializer.java b/src/main/java/org/caosdb/server/ServerPropertiesSerializer.java
similarity index 92%
rename from src/main/java/caosdb/server/ServerPropertiesSerializer.java
rename to src/main/java/org/caosdb/server/ServerPropertiesSerializer.java
index 10189f99e2ff30a2d9306ad9dc007810607747dd..f68538a3aa8bb15ec6f53944dfb072e20dfbc557 100644
--- a/src/main/java/caosdb/server/ServerPropertiesSerializer.java
+++ b/src/main/java/org/caosdb/server/ServerPropertiesSerializer.java
@@ -1,10 +1,10 @@
-package caosdb.server;
+package org.caosdb.server;
 
-import caosdb.server.utils.Serializer;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
+import org.caosdb.server.utils.Serializer;
 import org.jdom2.Element;
 
 public class ServerPropertiesSerializer implements Serializer<Properties, Element> {
diff --git a/src/main/java/caosdb/server/accessControl/ACMPermissions.java b/src/main/java/org/caosdb/server/accessControl/ACMPermissions.java
similarity index 98%
rename from src/main/java/caosdb/server/accessControl/ACMPermissions.java
rename to src/main/java/org/caosdb/server/accessControl/ACMPermissions.java
index 29988106b842fbd2b825899093e102a7448e8951..84844e892297e68d2ad22cbf5dad935612d1c4f4 100644
--- a/src/main/java/caosdb/server/accessControl/ACMPermissions.java
+++ b/src/main/java/org/caosdb/server/accessControl/ACMPermissions.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 public class ACMPermissions {
 
diff --git a/src/main/java/caosdb/server/accessControl/AnonymousAuthenticationToken.java b/src/main/java/org/caosdb/server/accessControl/AnonymousAuthenticationToken.java
similarity index 97%
rename from src/main/java/caosdb/server/accessControl/AnonymousAuthenticationToken.java
rename to src/main/java/org/caosdb/server/accessControl/AnonymousAuthenticationToken.java
index f3f62af2af319d342977a7fe2524b353f8e7adab..fcbf8c4343b89e7be797194b3ebf8d56276236da 100644
--- a/src/main/java/caosdb/server/accessControl/AnonymousAuthenticationToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/AnonymousAuthenticationToken.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import org.apache.shiro.authc.AuthenticationToken;
 
diff --git a/src/main/java/caosdb/server/accessControl/AnonymousRealm.java b/src/main/java/org/caosdb/server/accessControl/AnonymousRealm.java
similarity index 97%
rename from src/main/java/caosdb/server/accessControl/AnonymousRealm.java
rename to src/main/java/org/caosdb/server/accessControl/AnonymousRealm.java
index 831d45a727c95277c9d64624e136b2a2e120b3b4..006400bf649619390d5eaa642642a73b6a94f337 100644
--- a/src/main/java/caosdb/server/accessControl/AnonymousRealm.java
+++ b/src/main/java/org/caosdb/server/accessControl/AnonymousRealm.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import org.apache.shiro.authc.AuthenticationInfo;
 import org.apache.shiro.authc.AuthenticationToken;
diff --git a/src/main/java/caosdb/server/accessControl/AuthenticationUtils.java b/src/main/java/org/caosdb/server/accessControl/AuthenticationUtils.java
similarity index 95%
rename from src/main/java/caosdb/server/accessControl/AuthenticationUtils.java
rename to src/main/java/org/caosdb/server/accessControl/AuthenticationUtils.java
index c3576031da2d9a598bd74a07fe12df62ed7de90d..e6907f40b57b5ef44dc9c4772327ddf8920df173 100644
--- a/src/main/java/caosdb/server/accessControl/AuthenticationUtils.java
+++ b/src/main/java/org/caosdb/server/accessControl/AuthenticationUtils.java
@@ -22,19 +22,19 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import static caosdb.server.utils.Utils.URLDecodeWithUTF8;
+import static org.caosdb.server.utils.Utils.URLDecodeWithUTF8;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.permissions.ResponsibleAgent;
-import caosdb.server.permissions.Role;
-import caosdb.server.utils.Utils;
 import java.sql.Timestamp;
 import java.util.Collection;
 import java.util.LinkedList;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.permissions.ResponsibleAgent;
+import org.caosdb.server.permissions.Role;
+import org.caosdb.server.utils.Utils;
 import org.restlet.data.Cookie;
 import org.restlet.data.CookieSetting;
 
diff --git a/src/main/java/caosdb/server/accessControl/CaosDBAuthorizingRealm.java b/src/main/java/org/caosdb/server/accessControl/CaosDBAuthorizingRealm.java
similarity index 98%
rename from src/main/java/caosdb/server/accessControl/CaosDBAuthorizingRealm.java
rename to src/main/java/org/caosdb/server/accessControl/CaosDBAuthorizingRealm.java
index abd52d9ed306f43c51d8bf52bdf1c25d86d8454e..e10a0b29b38b2e246bde8c89c43a8b82a9307b7e 100644
--- a/src/main/java/caosdb/server/accessControl/CaosDBAuthorizingRealm.java
+++ b/src/main/java/org/caosdb/server/accessControl/CaosDBAuthorizingRealm.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import java.util.Collection;
 import java.util.Set;
diff --git a/src/main/java/caosdb/server/accessControl/CaosDBDefaultRealm.java b/src/main/java/org/caosdb/server/accessControl/CaosDBDefaultRealm.java
similarity index 98%
rename from src/main/java/caosdb/server/accessControl/CaosDBDefaultRealm.java
rename to src/main/java/org/caosdb/server/accessControl/CaosDBDefaultRealm.java
index 209487b751c0b73b5fd9085827295d5eb2ce831d..47fe71fd9dc3407c736998e79524f034933936a9 100644
--- a/src/main/java/caosdb/server/accessControl/CaosDBDefaultRealm.java
+++ b/src/main/java/org/caosdb/server/accessControl/CaosDBDefaultRealm.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import org.apache.shiro.authc.AuthenticationInfo;
 import org.apache.shiro.authc.AuthenticationToken;
diff --git a/src/main/java/caosdb/server/accessControl/CaosDBRolePermissionResolver.java b/src/main/java/org/caosdb/server/accessControl/CaosDBRolePermissionResolver.java
similarity index 85%
rename from src/main/java/caosdb/server/accessControl/CaosDBRolePermissionResolver.java
rename to src/main/java/org/caosdb/server/accessControl/CaosDBRolePermissionResolver.java
index ae4c38605f07f5222499e076def3a3d48c31a385..17637b010a1ddcd7ed88e3ba448e3fa68b894b43 100644
--- a/src/main/java/caosdb/server/accessControl/CaosDBRolePermissionResolver.java
+++ b/src/main/java/org/caosdb/server/accessControl/CaosDBRolePermissionResolver.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.entity.Message;
-import caosdb.server.permissions.CaosPermission;
-import caosdb.server.permissions.PermissionRule;
-import caosdb.server.transaction.RetrievePermissionRulesTransaction;
-import caosdb.server.utils.ServerMessages;
 import java.util.HashSet;
 import java.util.Set;
 import org.apache.shiro.authc.AuthenticationException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.permissions.CaosPermission;
+import org.caosdb.server.permissions.PermissionRule;
+import org.caosdb.server.transaction.RetrievePermissionRulesTransaction;
+import org.caosdb.server.utils.ServerMessages;
 
 public class CaosDBRolePermissionResolver {
 
diff --git a/src/main/java/caosdb/server/accessControl/Config.java b/src/main/java/org/caosdb/server/accessControl/Config.java
similarity index 97%
rename from src/main/java/caosdb/server/accessControl/Config.java
rename to src/main/java/org/caosdb/server/accessControl/Config.java
index 3da7a426a9dcecfb93264cb9e504a157b10659c8..4c50b445127c089dd1be7151dc6d35825877a2ae 100644
--- a/src/main/java/caosdb/server/accessControl/Config.java
+++ b/src/main/java/org/caosdb/server/accessControl/Config.java
@@ -1,4 +1,4 @@
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 public class Config {
   private String[] permissions = {};
diff --git a/src/main/java/caosdb/server/accessControl/ConsumedInfoCleanupJob.java b/src/main/java/org/caosdb/server/accessControl/ConsumedInfoCleanupJob.java
similarity index 91%
rename from src/main/java/caosdb/server/accessControl/ConsumedInfoCleanupJob.java
rename to src/main/java/org/caosdb/server/accessControl/ConsumedInfoCleanupJob.java
index 1f62fa0a8fc72604d885c24123c3d0c17cb49a0a..b5945c5cd2dbec86a7de6ffa265c65706342f86e 100644
--- a/src/main/java/caosdb/server/accessControl/ConsumedInfoCleanupJob.java
+++ b/src/main/java/org/caosdb/server/accessControl/ConsumedInfoCleanupJob.java
@@ -1,6 +1,6 @@
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.CaosDBServer;
+import org.caosdb.server.CaosDBServer;
 import org.quartz.CronScheduleBuilder;
 import org.quartz.Job;
 import org.quartz.JobBuilder;
diff --git a/src/main/java/caosdb/server/accessControl/CredentialsValidator.java b/src/main/java/org/caosdb/server/accessControl/CredentialsValidator.java
similarity index 96%
rename from src/main/java/caosdb/server/accessControl/CredentialsValidator.java
rename to src/main/java/org/caosdb/server/accessControl/CredentialsValidator.java
index 1c9474eb8d40ae7c28188be3c9b62bc73288978d..dfcbe8dfe5a2c840b2674c0fa419df185fe638ad 100644
--- a/src/main/java/caosdb/server/accessControl/CredentialsValidator.java
+++ b/src/main/java/org/caosdb/server/accessControl/CredentialsValidator.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 public interface CredentialsValidator<T> {
 
diff --git a/src/main/java/caosdb/server/accessControl/HashPasswordValidator.java b/src/main/java/org/caosdb/server/accessControl/HashPasswordValidator.java
similarity index 95%
rename from src/main/java/caosdb/server/accessControl/HashPasswordValidator.java
rename to src/main/java/org/caosdb/server/accessControl/HashPasswordValidator.java
index 2d883d906b633e5e1d4d313e2334844e1e7670fa..dcf1e3feabbb1e6855844169f03961d5ad71532a 100644
--- a/src/main/java/caosdb/server/accessControl/HashPasswordValidator.java
+++ b/src/main/java/org/caosdb/server/accessControl/HashPasswordValidator.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.utils.Utils;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
+import org.caosdb.server.utils.Utils;
 
 public class HashPasswordValidator implements CredentialsValidator<String> {
 
diff --git a/src/main/java/caosdb/server/accessControl/InternalUserSource.java b/src/main/java/org/caosdb/server/accessControl/InternalUserSource.java
similarity index 91%
rename from src/main/java/caosdb/server/accessControl/InternalUserSource.java
rename to src/main/java/org/caosdb/server/accessControl/InternalUserSource.java
index 16e795aa9b7228c4f14f11bbb0d2178a4f7517a0..23f772dfbd24aef21a6335ce4bc6df392e082078 100644
--- a/src/main/java/caosdb/server/accessControl/InternalUserSource.java
+++ b/src/main/java/org/caosdb/server/accessControl/InternalUserSource.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.entity.Message;
-import caosdb.server.transaction.RetrievePasswordValidatorTransaction;
-import caosdb.server.transaction.RetrieveUserTransaction;
-import caosdb.server.utils.ServerMessages;
 import java.util.Map;
 import java.util.Set;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.transaction.RetrievePasswordValidatorTransaction;
+import org.caosdb.server.transaction.RetrieveUserTransaction;
+import org.caosdb.server.utils.ServerMessages;
 
 public class InternalUserSource implements UserSource {
 
diff --git a/src/main/java/caosdb/server/accessControl/Mode.java b/src/main/java/org/caosdb/server/accessControl/Mode.java
similarity index 95%
rename from src/main/java/caosdb/server/accessControl/Mode.java
rename to src/main/java/org/caosdb/server/accessControl/Mode.java
index de7af914ae2b120a279da3fe936b1e67845fd0cb..8f91a9ba6eb6fc8c35a0cb519e0e7820e3628f57 100644
--- a/src/main/java/caosdb/server/accessControl/Mode.java
+++ b/src/main/java/org/caosdb/server/accessControl/Mode.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 public enum Mode {
   ONETIME,
diff --git a/src/main/java/caosdb/server/accessControl/OneTimeAuthenticationToken.java b/src/main/java/org/caosdb/server/accessControl/OneTimeAuthenticationToken.java
similarity index 98%
rename from src/main/java/caosdb/server/accessControl/OneTimeAuthenticationToken.java
rename to src/main/java/org/caosdb/server/accessControl/OneTimeAuthenticationToken.java
index 8dddf77b092cb951695ecaa15191856a3909793f..bde27876d78f846e1ed4ca19b878705814a4e52a 100644
--- a/src/main/java/caosdb/server/accessControl/OneTimeAuthenticationToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/OneTimeAuthenticationToken.java
@@ -22,10 +22,8 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectReader;
 import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
@@ -38,6 +36,8 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 import org.eclipse.jetty.util.ajax.JSON;
 import org.quartz.SchedulerException;
 import org.slf4j.Logger;
diff --git a/src/main/java/caosdb/server/accessControl/OneTimeTokenConsumedInfo.java b/src/main/java/org/caosdb/server/accessControl/OneTimeTokenConsumedInfo.java
similarity index 98%
rename from src/main/java/caosdb/server/accessControl/OneTimeTokenConsumedInfo.java
rename to src/main/java/org/caosdb/server/accessControl/OneTimeTokenConsumedInfo.java
index a8ebd2c807712d8b06ec68771e7abb8082ce0696..20c648b2d6b4aa2a492de6bc4bb6d1f5465eea27 100644
--- a/src/main/java/caosdb/server/accessControl/OneTimeTokenConsumedInfo.java
+++ b/src/main/java/org/caosdb/server/accessControl/OneTimeTokenConsumedInfo.java
@@ -1,4 +1,4 @@
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import java.util.HashMap;
 import java.util.Iterator;
diff --git a/src/main/java/caosdb/server/accessControl/OneTimeTokenToFile.java b/src/main/java/org/caosdb/server/accessControl/OneTimeTokenToFile.java
similarity index 96%
rename from src/main/java/caosdb/server/accessControl/OneTimeTokenToFile.java
rename to src/main/java/org/caosdb/server/accessControl/OneTimeTokenToFile.java
index b4006783a2105a353749edfaa475bde3dae93808..46017701069f9f184bf50b8bab285014cd8a47ad 100644
--- a/src/main/java/caosdb/server/accessControl/OneTimeTokenToFile.java
+++ b/src/main/java/org/caosdb/server/accessControl/OneTimeTokenToFile.java
@@ -1,10 +1,10 @@
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.CaosDBServer;
 import com.google.common.io.Files;
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
+import org.caosdb.server.CaosDBServer;
 import org.quartz.CronScheduleBuilder;
 import org.quartz.Job;
 import org.quartz.JobBuilder;
diff --git a/src/main/java/caosdb/server/accessControl/Pam.java b/src/main/java/org/caosdb/server/accessControl/Pam.java
similarity index 99%
rename from src/main/java/caosdb/server/accessControl/Pam.java
rename to src/main/java/org/caosdb/server/accessControl/Pam.java
index 0cae6fd74ae3924e868757e1f058a430a23b1ff3..992665c1db3ef42d3770c71e89fa5444f43f9d95 100644
--- a/src/main/java/caosdb/server/accessControl/Pam.java
+++ b/src/main/java/org/caosdb/server/accessControl/Pam.java
@@ -23,9 +23,8 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.caching.Cache;
 import java.io.File;
 import java.io.IOException;
 import java.util.HashSet;
@@ -36,6 +35,7 @@ import org.apache.commons.jcs.access.behavior.ICacheAccess;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.caching.Cache;
 import org.jvnet.libpam.PAMException;
 import org.jvnet.libpam.UnixUser;
 
diff --git a/src/main/java/caosdb/server/accessControl/PamScriptCaller.java b/src/main/java/org/caosdb/server/accessControl/PamScriptCaller.java
similarity index 96%
rename from src/main/java/caosdb/server/accessControl/PamScriptCaller.java
rename to src/main/java/org/caosdb/server/accessControl/PamScriptCaller.java
index 4cf1836df953b78f0fccb4801a85205b11869b18..dc9137e0192cb73d35ae6579b760a8d4f56685b7 100644
--- a/src/main/java/caosdb/server/accessControl/PamScriptCaller.java
+++ b/src/main/java/org/caosdb/server/accessControl/PamScriptCaller.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 public interface PamScriptCaller {
   public boolean isValid(String username, String password);
diff --git a/src/main/java/caosdb/server/accessControl/Principal.java b/src/main/java/org/caosdb/server/accessControl/Principal.java
similarity index 96%
rename from src/main/java/caosdb/server/accessControl/Principal.java
rename to src/main/java/org/caosdb/server/accessControl/Principal.java
index 6a95dd79eccd50c9358928909822af67056102db..fc96fb99670b51d0a128710722e2c10effed152a 100644
--- a/src/main/java/caosdb/server/accessControl/Principal.java
+++ b/src/main/java/org/caosdb/server/accessControl/Principal.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.permissions.ResponsibleAgent;
 import java.util.HashMap;
+import org.caosdb.server.permissions.ResponsibleAgent;
 import org.jdom2.Element;
 
 public class Principal implements ResponsibleAgent {
diff --git a/src/main/java/caosdb/server/accessControl/RealmUsernamePasswordToken.java b/src/main/java/org/caosdb/server/accessControl/RealmUsernamePasswordToken.java
similarity index 97%
rename from src/main/java/caosdb/server/accessControl/RealmUsernamePasswordToken.java
rename to src/main/java/org/caosdb/server/accessControl/RealmUsernamePasswordToken.java
index e07db9a603991a09ffb74d155697bc9b1583489d..9455df70220074121505b7dac2af31bbb549a153 100644
--- a/src/main/java/caosdb/server/accessControl/RealmUsernamePasswordToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/RealmUsernamePasswordToken.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import org.apache.shiro.authc.AuthenticationToken;
 
diff --git a/src/main/java/caosdb/server/accessControl/Role.java b/src/main/java/org/caosdb/server/accessControl/Role.java
similarity index 96%
rename from src/main/java/caosdb/server/accessControl/Role.java
rename to src/main/java/org/caosdb/server/accessControl/Role.java
index e19e245905bc0f90b4e4b004fce75e2e1203eb4f..e01f344cef248ae720975d29096ff363726a30f7 100644
--- a/src/main/java/caosdb/server/accessControl/Role.java
+++ b/src/main/java/org/caosdb/server/accessControl/Role.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import java.io.Serializable;
 import org.jdom2.Element;
diff --git a/src/main/java/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java b/src/main/java/org/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java
similarity index 99%
rename from src/main/java/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java
rename to src/main/java/org/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java
index 119a86248b83a472df0d2981db43d9a6cc1962f0..4291c5f65ddd8cb413922bd6fc1993ed8068c662 100644
--- a/src/main/java/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java
@@ -22,13 +22,13 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.utils.Utils;
 import java.util.Arrays;
 import java.util.Collection;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authc.AuthenticationToken;
+import org.caosdb.server.utils.Utils;
 import org.eclipse.jetty.util.ajax.JSON;
 
 /**
diff --git a/src/main/java/caosdb/server/accessControl/SessionToken.java b/src/main/java/org/caosdb/server/accessControl/SessionToken.java
similarity index 97%
rename from src/main/java/caosdb/server/accessControl/SessionToken.java
rename to src/main/java/org/caosdb/server/accessControl/SessionToken.java
index d24b4afeb739d764947092783c544168a6c0cf3f..5696af687dbc4130573fd27dc66547b88eab690d 100644
--- a/src/main/java/caosdb/server/accessControl/SessionToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/SessionToken.java
@@ -23,11 +23,11 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 import org.eclipse.jetty.util.ajax.JSON;
 
 /**
diff --git a/src/main/java/caosdb/server/accessControl/SessionTokenRealm.java b/src/main/java/org/caosdb/server/accessControl/SessionTokenRealm.java
similarity index 97%
rename from src/main/java/caosdb/server/accessControl/SessionTokenRealm.java
rename to src/main/java/org/caosdb/server/accessControl/SessionTokenRealm.java
index cce2850d6d532ae8880d208682b5677dc0369089..d78ffb405a8470a005da54736e25fbd69340b7e5 100644
--- a/src/main/java/caosdb/server/accessControl/SessionTokenRealm.java
+++ b/src/main/java/org/caosdb/server/accessControl/SessionTokenRealm.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import org.apache.shiro.authc.AuthenticationInfo;
 import org.apache.shiro.authc.AuthenticationToken;
diff --git a/src/main/java/caosdb/server/accessControl/UserSource.java b/src/main/java/org/caosdb/server/accessControl/UserSource.java
similarity index 98%
rename from src/main/java/caosdb/server/accessControl/UserSource.java
rename to src/main/java/org/caosdb/server/accessControl/UserSource.java
index 0ece8d5014227916feb1c50b986aaf4d9a9bf91b..ff9882bfbf581e3633d99c3a20c5113e1d329e55 100644
--- a/src/main/java/caosdb/server/accessControl/UserSource.java
+++ b/src/main/java/org/caosdb/server/accessControl/UserSource.java
@@ -22,7 +22,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import java.util.Map;
 import java.util.Set;
diff --git a/src/main/java/caosdb/server/accessControl/UserSources.java b/src/main/java/org/caosdb/server/accessControl/UserSources.java
similarity index 95%
rename from src/main/java/caosdb/server/accessControl/UserSources.java
rename to src/main/java/org/caosdb/server/accessControl/UserSources.java
index cdf219c017608c621a59d427b2132630fef0631d..9e5663edbfe0a41f58d39362a369cda9773eaef1 100644
--- a/src/main/java/caosdb/server/accessControl/UserSources.java
+++ b/src/main/java/org/caosdb/server/accessControl/UserSources.java
@@ -22,15 +22,8 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.permissions.Role;
-import caosdb.server.transaction.RetrieveRoleTransaction;
-import caosdb.server.transaction.RetrieveUserTransaction;
-import caosdb.server.utils.ServerMessages;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
@@ -39,6 +32,13 @@ import java.util.HashSet;
 import java.util.Set;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.config.Ini;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.permissions.Role;
+import org.caosdb.server.transaction.RetrieveRoleTransaction;
+import org.caosdb.server.transaction.RetrieveUserTransaction;
+import org.caosdb.server.utils.ServerMessages;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/src/main/java/caosdb/server/accessControl/UserStatus.java b/src/main/java/org/caosdb/server/accessControl/UserStatus.java
similarity index 95%
rename from src/main/java/caosdb/server/accessControl/UserStatus.java
rename to src/main/java/org/caosdb/server/accessControl/UserStatus.java
index 5acf24f0daf8891f21bdee83062d8c6ee6f77ab4..6091d3e146eb5eb835044f97d1dcbafd8d042135 100644
--- a/src/main/java/caosdb/server/accessControl/UserStatus.java
+++ b/src/main/java/org/caosdb/server/accessControl/UserStatus.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 public enum UserStatus {
   ACTIVE,
diff --git a/src/main/java/caosdb/server/caching/Cache.java b/src/main/java/org/caosdb/server/caching/Cache.java
similarity index 98%
rename from src/main/java/caosdb/server/caching/Cache.java
rename to src/main/java/org/caosdb/server/caching/Cache.java
index 338b1d853fd0610be780362a0242193fa46eb320..fe5e12c5ec1e7a6acd83dbfb8f64ead676600840 100644
--- a/src/main/java/caosdb/server/caching/Cache.java
+++ b/src/main/java/org/caosdb/server/caching/Cache.java
@@ -22,7 +22,7 @@
  *
  * ** end header
  */
-package caosdb.server.caching;
+package org.caosdb.server.caching;
 
 import java.io.Serializable;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
diff --git a/src/main/java/caosdb/server/caching/CacheHelper.java b/src/main/java/org/caosdb/server/caching/CacheHelper.java
similarity index 96%
rename from src/main/java/caosdb/server/caching/CacheHelper.java
rename to src/main/java/org/caosdb/server/caching/CacheHelper.java
index 32c854400310959a7834fe32a6f90de9e1b584d1..0dfd32da5bc125b242622384fcae54eee722e4ef 100644
--- a/src/main/java/caosdb/server/caching/CacheHelper.java
+++ b/src/main/java/org/caosdb/server/caching/CacheHelper.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.caching;
+package org.caosdb.server.caching;
 
 import java.io.Serializable;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
diff --git a/src/main/java/caosdb/server/caching/JCSCacheHelper.java b/src/main/java/org/caosdb/server/caching/JCSCacheHelper.java
similarity index 96%
rename from src/main/java/caosdb/server/caching/JCSCacheHelper.java
rename to src/main/java/org/caosdb/server/caching/JCSCacheHelper.java
index c471ed7ef860d902b56940da52a876a44fd97218..1613b8be8194425ab14e5e68b9215a0ba92be8d3 100644
--- a/src/main/java/caosdb/server/caching/JCSCacheHelper.java
+++ b/src/main/java/org/caosdb/server/caching/JCSCacheHelper.java
@@ -22,10 +22,8 @@
  *
  * ** end header
  */
-package caosdb.server.caching;
+package org.caosdb.server.caching;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -36,6 +34,8 @@ import org.apache.commons.jcs.JCS;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 
 /**
  * A CacheHelper implementation which is configured statically via the {@link
diff --git a/src/main/java/org/caosdb/server/database/BackendTransaction.java b/src/main/java/org/caosdb/server/database/BackendTransaction.java
new file mode 100644
index 0000000000000000000000000000000000000000..cb23dde5548b1287a3fbc0dc76f54e5978e64f46
--- /dev/null
+++ b/src/main/java/org/caosdb/server/database/BackendTransaction.java
@@ -0,0 +1,298 @@
+/*
+ * ** header v3.0
+ * This file is a part of the CaosDB Project.
+ *
+ * Copyright (C) 2018 Research Group Biomedical Physics,
+ *   Max-Planck-Institute for Dynamics and Self-Organization Göttingen
+ * Copyright (C) 2020 IndiScale GmbH
+ * Copyright (C) 2020 Timm Fitschen (t.fitschen@indiscale.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ * ** end header
+ */
+package org.caosdb.server.database;
+
+import java.util.HashMap;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLDeleteEntityProperties;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLDeletePassword;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLDeleteRole;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLDeleteSparseEntity;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLDeleteUser;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetAllNames;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetChildren;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetDependentEntities;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetFileRecordByPath;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetIDByName;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetInfo;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetUpdateableChecksums;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertEntityDatatype;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertEntityProperties;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertLinCon;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertLogRecord;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertParents;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertRole;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertSparseEntity;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertTransactionHistory;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLIsSubType;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRegisterSubDomain;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveAll;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveAllUncheckedFiles;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveDatatypes;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveLogRecord;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveParents;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrievePasswordValidator;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrievePermissionRules;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveProperties;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveQueryTemplateDefinition;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveRole;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveSparseEntity;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveTransactionHistory;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveUser;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveVersionHistory;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRuleLoader;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLSetFileCheckedTimestampImpl;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLSetPassword;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLSetPermissionRules;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLSetQueryTemplateDefinition;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLSyncStats;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLUpdateSparseEntity;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLUpdateUser;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLUpdateUserRoles;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemCheckHash;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemCheckSize;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemFileExists;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemFileWasModifiedAfter;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemGetFileIterator;
+import org.caosdb.server.database.backend.interfaces.BackendTransactionImpl;
+import org.caosdb.server.database.backend.interfaces.DeleteEntityPropertiesImpl;
+import org.caosdb.server.database.backend.interfaces.DeletePasswordImpl;
+import org.caosdb.server.database.backend.interfaces.DeleteRoleImpl;
+import org.caosdb.server.database.backend.interfaces.DeleteSparseEntityImpl;
+import org.caosdb.server.database.backend.interfaces.DeleteUserImpl;
+import org.caosdb.server.database.backend.interfaces.FileCheckHash;
+import org.caosdb.server.database.backend.interfaces.FileCheckSize;
+import org.caosdb.server.database.backend.interfaces.FileExists;
+import org.caosdb.server.database.backend.interfaces.FileWasModifiedAfter;
+import org.caosdb.server.database.backend.interfaces.GetAllNamesImpl;
+import org.caosdb.server.database.backend.interfaces.GetChildrenImpl;
+import org.caosdb.server.database.backend.interfaces.GetDependentEntitiesImpl;
+import org.caosdb.server.database.backend.interfaces.GetFileIteratorImpl;
+import org.caosdb.server.database.backend.interfaces.GetFileRecordByPathImpl;
+import org.caosdb.server.database.backend.interfaces.GetIDByNameImpl;
+import org.caosdb.server.database.backend.interfaces.GetInfoImpl;
+import org.caosdb.server.database.backend.interfaces.GetUpdateableChecksumsImpl;
+import org.caosdb.server.database.backend.interfaces.InsertEntityDatatypeImpl;
+import org.caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
+import org.caosdb.server.database.backend.interfaces.InsertLinConImpl;
+import org.caosdb.server.database.backend.interfaces.InsertLogRecordImpl;
+import org.caosdb.server.database.backend.interfaces.InsertParentsImpl;
+import org.caosdb.server.database.backend.interfaces.InsertRoleImpl;
+import org.caosdb.server.database.backend.interfaces.InsertSparseEntityImpl;
+import org.caosdb.server.database.backend.interfaces.InsertTransactionHistoryImpl;
+import org.caosdb.server.database.backend.interfaces.IsSubTypeImpl;
+import org.caosdb.server.database.backend.interfaces.RegisterSubDomainImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveAllImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveAllUncheckedFilesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveDatatypesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveLogRecordImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveParentsImpl;
+import org.caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrievePropertiesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveQueryTemplateDefinitionImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveSparseEntityImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveTransactionHistoryImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveUserImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveVersionHistoryImpl;
+import org.caosdb.server.database.backend.interfaces.RuleLoaderImpl;
+import org.caosdb.server.database.backend.interfaces.SetFileCheckedTimestampImpl;
+import org.caosdb.server.database.backend.interfaces.SetPasswordImpl;
+import org.caosdb.server.database.backend.interfaces.SetPermissionRulesImpl;
+import org.caosdb.server.database.backend.interfaces.SetQueryTemplateDefinitionImpl;
+import org.caosdb.server.database.backend.interfaces.SyncStatsImpl;
+import org.caosdb.server.database.backend.interfaces.UpdateSparseEntityImpl;
+import org.caosdb.server.database.backend.interfaces.UpdateUserImpl;
+import org.caosdb.server.database.backend.interfaces.UpdateUserRolesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.utils.UndoHandler;
+import org.caosdb.server.utils.Undoable;
+
+public abstract class BackendTransaction implements Undoable {
+
+  private final UndoHandler undoHandler = new UndoHandler();
+  private Access access;
+  private TransactionBenchmark benchmark;
+  private static HashMap<
+          Class<? extends BackendTransactionImpl>, Class<? extends BackendTransactionImpl>>
+      impl = new HashMap<>();
+
+  protected abstract void execute();
+
+  public final void executeTransaction() {
+    final long t1 = System.currentTimeMillis();
+    execute();
+    final long t2 = System.currentTimeMillis();
+    this.addMeasurement(this, t2 - t1);
+  }
+
+  /**
+   * Intialiaze the adapters to the database backend.
+   *
+   * <p>Currently this is hard-coded to the MySQL-Backend but the architecture of this class is
+   * designed to make it easy in the future to choose other implementations (i.e. other back-ends)
+   */
+  public static void init() {
+    if (impl.isEmpty()) {
+      setImpl(GetAllNamesImpl.class, MySQLGetAllNames.class);
+      setImpl(DeleteEntityPropertiesImpl.class, MySQLDeleteEntityProperties.class);
+      setImpl(DeleteSparseEntityImpl.class, MySQLDeleteSparseEntity.class);
+      setImpl(GetChildrenImpl.class, MySQLGetChildren.class);
+      setImpl(GetDependentEntitiesImpl.class, MySQLGetDependentEntities.class);
+      setImpl(GetIDByNameImpl.class, MySQLGetIDByName.class);
+      setImpl(GetInfoImpl.class, MySQLGetInfo.class);
+      setImpl(InsertEntityPropertiesImpl.class, MySQLInsertEntityProperties.class);
+      setImpl(InsertLinConImpl.class, MySQLInsertLinCon.class);
+      setImpl(InsertParentsImpl.class, MySQLInsertParents.class);
+      setImpl(InsertSparseEntityImpl.class, MySQLInsertSparseEntity.class);
+      setImpl(InsertTransactionHistoryImpl.class, MySQLInsertTransactionHistory.class);
+      setImpl(IsSubTypeImpl.class, MySQLIsSubType.class);
+      setImpl(UpdateSparseEntityImpl.class, MySQLUpdateSparseEntity.class);
+      setImpl(RetrieveAllImpl.class, MySQLRetrieveAll.class);
+      setImpl(RegisterSubDomainImpl.class, MySQLRegisterSubDomain.class);
+      setImpl(RetrieveDatatypesImpl.class, MySQLRetrieveDatatypes.class);
+      setImpl(RetrieveTransactionHistoryImpl.class, MySQLRetrieveTransactionHistory.class);
+      setImpl(RetrieveUserImpl.class, MySQLRetrieveUser.class);
+      setImpl(RetrieveParentsImpl.class, MySQLRetrieveParents.class);
+      setImpl(GetFileRecordByPathImpl.class, MySQLGetFileRecordByPath.class);
+      setImpl(RetrievePropertiesImpl.class, MySQLRetrieveProperties.class);
+      setImpl(RetrieveSparseEntityImpl.class, MySQLRetrieveSparseEntity.class);
+      setImpl(RuleLoaderImpl.class, MySQLRuleLoader.class);
+      setImpl(SyncStatsImpl.class, MySQLSyncStats.class);
+      setImpl(FileExists.class, UnixFileSystemFileExists.class);
+      setImpl(FileWasModifiedAfter.class, UnixFileSystemFileWasModifiedAfter.class);
+      setImpl(FileCheckHash.class, UnixFileSystemCheckHash.class);
+      setImpl(GetFileIteratorImpl.class, UnixFileSystemGetFileIterator.class);
+      setImpl(SetFileCheckedTimestampImpl.class, MySQLSetFileCheckedTimestampImpl.class);
+      setImpl(RetrieveAllUncheckedFilesImpl.class, MySQLRetrieveAllUncheckedFiles.class);
+      setImpl(UpdateUserImpl.class, MySQLUpdateUser.class);
+      setImpl(DeleteUserImpl.class, MySQLDeleteUser.class);
+      setImpl(SetPasswordImpl.class, MySQLSetPassword.class);
+      setImpl(RetrievePasswordValidatorImpl.class, MySQLRetrievePasswordValidator.class);
+      setImpl(DeletePasswordImpl.class, MySQLDeletePassword.class);
+      setImpl(GetUpdateableChecksumsImpl.class, MySQLGetUpdateableChecksums.class);
+      setImpl(FileCheckSize.class, UnixFileSystemCheckSize.class);
+      setImpl(InsertRoleImpl.class, MySQLInsertRole.class);
+      setImpl(RetrieveRoleImpl.class, MySQLRetrieveRole.class);
+      setImpl(DeleteRoleImpl.class, MySQLDeleteRole.class);
+      setImpl(SetPermissionRulesImpl.class, MySQLSetPermissionRules.class);
+      setImpl(RetrievePermissionRulesImpl.class, MySQLRetrievePermissionRules.class);
+      setImpl(UpdateUserRolesImpl.class, MySQLUpdateUserRoles.class);
+      setImpl(InsertLogRecordImpl.class, MySQLInsertLogRecord.class);
+      setImpl(RetrieveLogRecordImpl.class, MySQLRetrieveLogRecord.class);
+      setImpl(SetQueryTemplateDefinitionImpl.class, MySQLSetQueryTemplateDefinition.class);
+      setImpl(
+          RetrieveQueryTemplateDefinitionImpl.class, MySQLRetrieveQueryTemplateDefinition.class);
+      setImpl(InsertEntityDatatypeImpl.class, MySQLInsertEntityDatatype.class);
+      setImpl(RetrieveVersionHistoryImpl.class, MySQLRetrieveVersionHistory.class);
+    }
+  }
+
+  /**
+   * Execute this BackendTransaction, using the implementation given as an argument.
+   *
+   * <p>The implementation's benchmark is set to the corresponding sub-benchmark of this object's
+   * benchmark.
+   *
+   * @param t This BackendTransaction's execute() method will be called.
+   * @return The BackendTransaction which was passed as an argument.
+   */
+  protected <K extends BackendTransaction> K execute(final K t) {
+    assert t != this;
+    this.undoHandler.append(t);
+    t.setAccess(this.access);
+    if (benchmark != null) {
+      t.setTransactionBenchmark(benchmark.getBenchmark(t.getClass()));
+    }
+    final long t1 = System.currentTimeMillis();
+    t.execute();
+    final long t2 = System.currentTimeMillis();
+    this.addMeasurement(t, t2 - t1);
+    return t;
+  }
+
+  public static <K extends BackendTransactionImpl, L extends K> void setImpl(
+      final Class<K> k, final Class<L> l) {
+    impl.put(k, l);
+  }
+
+  public void setAccess(final Access access) {
+    this.access = access;
+  }
+
+  @SuppressWarnings("unchecked")
+  protected <T extends BackendTransactionImpl> T getImplementation(final Class<T> clz) {
+    init();
+    try {
+      Class<?> implclz = impl.get(clz);
+      final T ret = (T) implclz.getConstructor(Access.class).newInstance(this.access);
+      if (ret instanceof Undoable) {
+        this.undoHandler.append((Undoable) ret);
+      }
+      if (benchmark != null) {
+        ret.setTransactionBenchmark(benchmark.getBenchmark(ret.getClass()));
+      }
+      return ret;
+    } catch (final Exception e) {
+      throw new TransactionException(e);
+    }
+  }
+
+  protected UndoHandler getUndoHandler() {
+    return this.undoHandler;
+  }
+
+  @Override
+  public final void undo() {
+    this.undoHandler.undo();
+  }
+
+  @Override
+  public final void cleanUp() {
+    this.undoHandler.cleanUp();
+  }
+
+  boolean useCache() {
+    return this.access.useCache();
+  }
+
+  @Override
+  public String toString() {
+    return this.getClass().getSimpleName();
+  }
+
+  /** Set the benchmark object for this AbstractTransaction. */
+  public void setTransactionBenchmark(TransactionBenchmark b) {
+    this.benchmark = b;
+  }
+
+  public void addMeasurement(Object o, long time) {
+    if (this.benchmark != null) {
+      this.benchmark.addMeasurement(o, time);
+    }
+  }
+}
diff --git a/src/main/java/caosdb/server/database/CacheableBackendTransaction.java b/src/main/java/org/caosdb/server/database/CacheableBackendTransaction.java
similarity index 96%
rename from src/main/java/caosdb/server/database/CacheableBackendTransaction.java
rename to src/main/java/org/caosdb/server/database/CacheableBackendTransaction.java
index 0131b740d81cbd41d1b9263c5f42029e1af4539c..621fa31cd1603633fdb259591d29abf00c6312a4 100644
--- a/src/main/java/caosdb/server/database/CacheableBackendTransaction.java
+++ b/src/main/java/org/caosdb/server/database/CacheableBackendTransaction.java
@@ -22,11 +22,11 @@
  *
  * ** end header
  */
-package caosdb.server.database;
+package org.caosdb.server.database;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.io.Serializable;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public abstract class CacheableBackendTransaction<K, V extends Serializable>
     extends BackendTransaction {
diff --git a/src/main/java/caosdb/server/database/ChainTransaction.java b/src/main/java/org/caosdb/server/database/ChainTransaction.java
similarity index 91%
rename from src/main/java/caosdb/server/database/ChainTransaction.java
rename to src/main/java/org/caosdb/server/database/ChainTransaction.java
index ccbd0e2b6751dbfd83a685ab687d3b0d044a9606..6adee64ade2b4633f33f4b0a5397628d63e05e7c 100644
--- a/src/main/java/caosdb/server/database/ChainTransaction.java
+++ b/src/main/java/org/caosdb/server/database/ChainTransaction.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database;
+package org.caosdb.server.database;
 
-import caosdb.server.database.backend.interfaces.BackendTransactionImpl;
 import java.util.LinkedList;
+import org.caosdb.server.database.backend.interfaces.BackendTransactionImpl;
 
 public class ChainTransaction<T extends BackendTransactionImpl> {
   private final LinkedList<T> chain = new LinkedList<T>();
diff --git a/src/main/java/caosdb/server/database/Database.java b/src/main/java/org/caosdb/server/database/Database.java
similarity index 97%
rename from src/main/java/caosdb/server/database/Database.java
rename to src/main/java/org/caosdb/server/database/Database.java
index d67acdff9d8fbacdbdefdfdeb5013c3838156461..797aadcced181febbc0539975ba1f46d8ee2d9de 100644
--- a/src/main/java/caosdb/server/database/Database.java
+++ b/src/main/java/org/caosdb/server/database/Database.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database;
+package org.caosdb.server.database;
 
 public class Database {
 
diff --git a/src/main/java/caosdb/server/database/DatabaseMonitor.java b/src/main/java/org/caosdb/server/database/DatabaseMonitor.java
similarity index 92%
rename from src/main/java/caosdb/server/database/DatabaseMonitor.java
rename to src/main/java/org/caosdb/server/database/DatabaseMonitor.java
index 6efd782f0f02eef34fbed97c433a70464c9e4322..77e913025dba9d65607f410049affbae1249d745 100644
--- a/src/main/java/caosdb/server/database/DatabaseMonitor.java
+++ b/src/main/java/org/caosdb/server/database/DatabaseMonitor.java
@@ -20,26 +20,26 @@
  *
  * ** end header
  */
-package caosdb.server.database;
-
-import caosdb.server.database.access.Access;
-import caosdb.server.database.access.AccessControlAccess;
-import caosdb.server.database.access.InfoAccess;
-import caosdb.server.database.access.InitAccess;
-import caosdb.server.database.access.TransactionAccess;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.transaction.AccessControlTransaction;
-import caosdb.server.transaction.TransactionInterface;
-import caosdb.server.transaction.WriteTransaction;
-import caosdb.server.utils.Info;
-import caosdb.server.utils.Initialization;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
-import caosdb.server.utils.Releasable;
+package org.caosdb.server.database;
+
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.locks.ReentrantLock;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.access.AccessControlAccess;
+import org.caosdb.server.database.access.InfoAccess;
+import org.caosdb.server.database.access.InitAccess;
+import org.caosdb.server.database.access.TransactionAccess;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.transaction.AccessControlTransaction;
+import org.caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.transaction.WriteTransaction;
+import org.caosdb.server.utils.Info;
+import org.caosdb.server.utils.Initialization;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
+import org.caosdb.server.utils.Releasable;
 
 /**
  * Acquire and release weak access. DatabaseMonitor uses this class for managing access to entities
diff --git a/src/main/java/caosdb/server/database/DatabaseUtils.java b/src/main/java/org/caosdb/server/database/DatabaseUtils.java
similarity index 93%
rename from src/main/java/caosdb/server/database/DatabaseUtils.java
rename to src/main/java/org/caosdb/server/database/DatabaseUtils.java
index 9edc0347abf8b63de0ce76ead06fb1f6883332e1..c985c1b9bc62270ccf6c5904b1c7f0147bb20de0 100644
--- a/src/main/java/caosdb/server/database/DatabaseUtils.java
+++ b/src/main/java/org/caosdb/server/database/DatabaseUtils.java
@@ -20,30 +20,30 @@
  *
  * ** end header
  */
-package caosdb.server.database;
+package org.caosdb.server.database;
 
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.database.proto.ProtoProperty;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.database.proto.VerySparseEntity;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.CollectionValue;
-import caosdb.server.datatype.IndexedSingleValue;
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.datatype.SingleValue;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.entity.wrapper.Domain;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.wrapper.Property;
 import com.google.common.base.Objects;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.database.proto.ProtoProperty;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.database.proto.VerySparseEntity;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.CollectionValue;
+import org.caosdb.server.datatype.IndexedSingleValue;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.datatype.SingleValue;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.entity.wrapper.Domain;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.wrapper.Property;
 
 public class DatabaseUtils {
 
diff --git a/src/main/java/caosdb/server/database/access/AbstractAccess.java b/src/main/java/org/caosdb/server/database/access/AbstractAccess.java
similarity index 92%
rename from src/main/java/caosdb/server/database/access/AbstractAccess.java
rename to src/main/java/org/caosdb/server/database/access/AbstractAccess.java
index 8013c609577236761123c0902c35606be0017567..9d00a876e8db21446b88b6ab00dfeb12ee043c0d 100644
--- a/src/main/java/caosdb/server/database/access/AbstractAccess.java
+++ b/src/main/java/org/caosdb/server/database/access/AbstractAccess.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.access;
+package org.caosdb.server.database.access;
 
-import caosdb.server.database.misc.DBHelper;
-import caosdb.server.database.misc.RollBackHandler;
-import caosdb.server.transaction.TransactionInterface;
 import java.util.HashMap;
+import org.caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.database.misc.RollBackHandler;
+import org.caosdb.server.transaction.TransactionInterface;
 
 public abstract class AbstractAccess<T extends TransactionInterface> implements Access {
 
diff --git a/src/main/java/caosdb/server/database/access/Access.java b/src/main/java/org/caosdb/server/database/access/Access.java
similarity index 92%
rename from src/main/java/caosdb/server/database/access/Access.java
rename to src/main/java/org/caosdb/server/database/access/Access.java
index 0114f6723ab283f7f14094954e26001535203975..228e8e004aea7454a287bccd898794c2bb4f1b9c 100644
--- a/src/main/java/caosdb/server/database/access/Access.java
+++ b/src/main/java/org/caosdb/server/database/access/Access.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.access;
+package org.caosdb.server.database.access;
 
-import caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.database.misc.DBHelper;
 
 public interface Access {
 
diff --git a/src/main/java/caosdb/server/database/access/AccessControlAccess.java b/src/main/java/org/caosdb/server/database/access/AccessControlAccess.java
similarity index 91%
rename from src/main/java/caosdb/server/database/access/AccessControlAccess.java
rename to src/main/java/org/caosdb/server/database/access/AccessControlAccess.java
index 14e32a3d62d92077844779d07f5b282a74b5b0aa..450f0c61310e5706c450ad793c7485073393d4c9 100644
--- a/src/main/java/caosdb/server/database/access/AccessControlAccess.java
+++ b/src/main/java/org/caosdb/server/database/access/AccessControlAccess.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.access;
+package org.caosdb.server.database.access;
 
-import caosdb.server.transaction.AccessControlTransaction;
+import org.caosdb.server.transaction.AccessControlTransaction;
 
 public class AccessControlAccess extends AbstractAccess<AccessControlTransaction> {
 
diff --git a/src/main/java/caosdb/server/database/access/InfoAccess.java b/src/main/java/org/caosdb/server/database/access/InfoAccess.java
similarity index 93%
rename from src/main/java/caosdb/server/database/access/InfoAccess.java
rename to src/main/java/org/caosdb/server/database/access/InfoAccess.java
index e26d7de1b868ca80d2cd1fd77f6ec06f2ba58bd9..3d66e67a2d243d753c98e6934688eb34e1e94c0e 100644
--- a/src/main/java/caosdb/server/database/access/InfoAccess.java
+++ b/src/main/java/org/caosdb/server/database/access/InfoAccess.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.access;
+package org.caosdb.server.database.access;
 
-import caosdb.server.utils.Info;
 import java.sql.SQLException;
+import org.caosdb.server.utils.Info;
 
 public class InfoAccess extends AbstractAccess<Info> {
 
diff --git a/src/main/java/caosdb/server/database/access/InitAccess.java b/src/main/java/org/caosdb/server/database/access/InitAccess.java
similarity index 92%
rename from src/main/java/caosdb/server/database/access/InitAccess.java
rename to src/main/java/org/caosdb/server/database/access/InitAccess.java
index b5b24d835f34ceaeb7b042b3e813859b71807133..1a6108cc62d4dd421d40128a5346ee2d216f6b9c 100644
--- a/src/main/java/caosdb/server/database/access/InitAccess.java
+++ b/src/main/java/org/caosdb/server/database/access/InitAccess.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.access;
+package org.caosdb.server.database.access;
 
-import caosdb.server.utils.Initialization;
 import java.sql.SQLException;
+import org.caosdb.server.utils.Initialization;
 
 public class InitAccess extends AbstractAccess<Initialization> {
 
diff --git a/src/main/java/caosdb/server/database/access/TransactionAccess.java b/src/main/java/org/caosdb/server/database/access/TransactionAccess.java
similarity index 89%
rename from src/main/java/caosdb/server/database/access/TransactionAccess.java
rename to src/main/java/org/caosdb/server/database/access/TransactionAccess.java
index 84f422afa9e13f532a33439a7eddd9dc02644b24..406d0fb6577f89c6d1c49627802e39a4514f6cfd 100644
--- a/src/main/java/caosdb/server/database/access/TransactionAccess.java
+++ b/src/main/java/org/caosdb/server/database/access/TransactionAccess.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.access;
+package org.caosdb.server.database.access;
 
-import caosdb.server.transaction.TransactionInterface;
-import caosdb.server.utils.Releasable;
+import org.caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.utils.Releasable;
 
 public class TransactionAccess extends AbstractAccess<TransactionInterface> {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java
similarity index 94%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java
index 6e688f9ad5993f352f9de6047ef2a20ec3d8c3c7..f8b0da3580d5bf3d9156f26cbc55434a6f0b5d99 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
 public class ConnectionException extends Exception {
   private static final long serialVersionUID = 3581951559636079126L;
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java
similarity index 97%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java
index fc17dd1066cfa57660d44dbb6a521d3177e5fc72..f77f810a93428a66247b6559e2bef2ac344cd5d9 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java
@@ -20,11 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import com.google.common.base.Objects;
 import java.sql.CallableStatement;
 import java.sql.Connection;
@@ -32,6 +29,9 @@ import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import snaq.db.ConnectionPool;
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteEntityProperties.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteEntityProperties.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteEntityProperties.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteEntityProperties.java
index 989291a6342dcd5d7319cb3963127587d9cac5f8..28285ae9a2890e6fc6d69b63e620810867035f50 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteEntityProperties.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteEntityProperties.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.DeleteEntityPropertiesImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLIntegrityConstraintViolationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.DeleteEntityPropertiesImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLDeleteEntityProperties extends MySQLTransaction
     implements DeleteEntityPropertiesImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeletePassword.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeletePassword.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeletePassword.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeletePassword.java
index da3c083a8b21e56338436b4156ae8f33eb3bda01..2569226e271b55a1785da7b548eeae93fbd4c262 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeletePassword.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeletePassword.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.DeletePasswordImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.sql.SQLIntegrityConstraintViolationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.DeletePasswordImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLDeletePassword extends MySQLTransaction implements DeletePasswordImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteRole.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteRole.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteRole.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteRole.java
index 6e5c278cf0581936285f1346508682b7304b17cb..8fd8d35fda6b99f7d79b245a10ace4ed9521e0ce 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteRole.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteRole.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.DeleteRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.DeleteRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLDeleteRole extends MySQLTransaction implements DeleteRoleImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteSparseEntity.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteSparseEntity.java
index 8293754dcacef49b5ef28bdaba38632ed0771700..9f504f3f2690a6415179761b5a647b2a13bb95d0 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteSparseEntity.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.DeleteSparseEntityImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLIntegrityConstraintViolationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.DeleteSparseEntityImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLDeleteSparseEntity extends MySQLTransaction implements DeleteSparseEntityImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteUser.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteUser.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteUser.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteUser.java
index c037b390fcbd116e6cde1dce7bff654e84c9c7e5..88b20e4a0186844cecce2cc2f5fd14423f5bf4c1 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteUser.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteUser.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.DeleteUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.DeleteUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLDeleteUser extends MySQLTransaction implements DeleteUserImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetAllNames.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetAllNames.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetAllNames.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetAllNames.java
index 060cf9b8a77ad15e430b34f06e2b17737dd27cc2..09cae6886c2daa94d93ab76539a3e1343f5aecbe 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetAllNames.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetAllNames.java
@@ -1,15 +1,15 @@
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetAllNamesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetAllNamesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 /** Retrieve name, role and acl of all entities from the MySQL backend. */
 public class MySQLGetAllNames extends MySQLTransaction implements GetAllNamesImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetChildren.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetChildren.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetChildren.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetChildren.java
index b230efae23cdc7769678a09f008c11cc5dd4851b..d63de2d530d0f32bf3d068e7d1351cfb9609ce79 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetChildren.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetChildren.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetChildrenImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetChildrenImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLGetChildren extends MySQLTransaction implements GetChildrenImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetDependentEntities.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetDependentEntities.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetDependentEntities.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetDependentEntities.java
index 2ef8208363d7ad2681f8b0690c09f863723f8f2f..7875ced0d89fd11ed14cf668bb9110f643c053c9 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetDependentEntities.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetDependentEntities.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetDependentEntitiesImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetDependentEntitiesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLGetDependentEntities extends MySQLTransaction
     implements GetDependentEntitiesImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetFileRecordByPath.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetFileRecordByPath.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetFileRecordByPath.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetFileRecordByPath.java
index b929c923ba44c50d02fd4afd78645c20748c225c..9b147d289b337f63dd359ce604719d9e00a149be 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetFileRecordByPath.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetFileRecordByPath.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetFileRecordByPathImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetFileRecordByPathImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class MySQLGetFileRecordByPath extends MySQLTransaction implements GetFileRecordByPathImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetIDByName.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetIDByName.java
similarity index 91%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetIDByName.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetIDByName.java
index e9797640d98b6e9f2afb2b95ff3ea5103b623070..5a546ae1ae16c606a9b367cce94e1ceddf073239 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetIDByName.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetIDByName.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetIDByNameImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetIDByNameImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLGetIDByName extends MySQLTransaction implements GetIDByNameImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetInfo.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetInfo.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetInfo.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetInfo.java
index 5032f1855aab3d68d7b6670fb794d6e9dccc9336..2e7a110c6f42ffe2b489525509d742810119e187 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetInfo.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetInfo.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetInfoImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoInfo;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetInfoImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoInfo;
 
 public class MySQLGetInfo extends MySQLTransaction implements GetInfoImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetUpdateableChecksums.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetUpdateableChecksums.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetUpdateableChecksums.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetUpdateableChecksums.java
index 534c6ad25df267395770db07ababa6dd9004ef04..cf4e0aa7816b7f119f610ad7a602abfbe01432e4 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetUpdateableChecksums.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetUpdateableChecksums.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetUpdateableChecksumsImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetUpdateableChecksumsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLGetUpdateableChecksums extends MySQLTransaction
     implements GetUpdateableChecksumsImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLHelper.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLHelper.java
similarity index 94%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLHelper.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLHelper.java
index b443c54507e415ed4171fcf0ac99c3da762fb506..2ad36235bd16e1cecde9908d334f643ebc127e54 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLHelper.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLHelper.java
@@ -22,13 +22,8 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.misc.DBHelper;
-import caosdb.server.transaction.ChecksumUpdater;
-import caosdb.server.transaction.TransactionInterface;
-import caosdb.server.transaction.WriteTransaction;
 import java.io.UnsupportedEncodingException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
@@ -36,6 +31,11 @@ import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.HashMap;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.transaction.ChecksumUpdater;
+import org.caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.transaction.WriteTransaction;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityDatatype.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityDatatype.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityDatatype.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityDatatype.java
index 47671864570c1a041b8b164a0f045fbf70b47987..c4cb7cf98e5da51f98d71b4c5f6fc91e6961892e 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityDatatype.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityDatatype.java
@@ -1,12 +1,12 @@
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertEntityDatatypeImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.SQLIntegrityConstraintViolationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertEntityDatatypeImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class MySQLInsertEntityDatatype extends MySQLTransaction
     implements InsertEntityDatatypeImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityProperties.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityProperties.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityProperties.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityProperties.java
index cbc01eb3572b2b8dad47e54eea3e430ac853ecd1..d4243d7712cc3982221e1e815cdbdaaa4561a205 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityProperties.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityProperties.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
 import static java.sql.Types.BIGINT;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.datatype.AbstractDatatype.Table;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.sql.SQLIntegrityConstraintViolationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 
 public class MySQLInsertEntityProperties extends MySQLTransaction
     implements InsertEntityPropertiesImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLinCon.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLinCon.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLinCon.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLinCon.java
index e286212c1d2e365ecab24452be53a602e6f2c21e..b8ea787292e375fcda8b99caa4464bfdf32c3fd7 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLinCon.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLinCon.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertLinConImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.LinCon;
 import java.sql.PreparedStatement;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertLinConImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.LinCon;
 
 public class MySQLInsertLinCon extends MySQLTransaction implements InsertLinConImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLogRecord.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLogRecord.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLogRecord.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLogRecord.java
index 054d13e575e9d4d45329f8626756934ac2cf50cf..6807808d18fb6ba9ce0a4ed9287ea21612cc2d2c 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLogRecord.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLogRecord.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertLogRecordImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.util.List;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertLogRecordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLInsertLogRecord extends MySQLTransaction implements InsertLogRecordImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertParents.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertParents.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertParents.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertParents.java
index 87493cebfc2c6b7043427be2b490d5203f383ec9..a37bf066aa1573e67390f88bfe18bbed0d6dbb3b 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertParents.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertParents.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertParentsImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertParentsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLInsertParents extends MySQLTransaction implements InsertParentsImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertRole.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertRole.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertRole.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertRole.java
index 796270973abeea2d247c6d12e12b7bfdcc41a622..66f5a888dd8aa7f429dbd1698ff8245e3efb021a 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertRole.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertRole.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLInsertRole extends MySQLTransaction implements InsertRoleImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java
index 97cfde68b1b9097152aca3ea68705e6cdfddfaad..1f1f32c69a260d374ea930ba4e1be63e34cf9ca9 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertSparseEntityImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLIntegrityConstraintViolationException;
 import java.sql.Types;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertSparseEntityImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class MySQLInsertSparseEntity extends MySQLTransaction implements InsertSparseEntityImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertTransactionHistory.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertTransactionHistory.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertTransactionHistory.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertTransactionHistory.java
index f3563ce0881707677d9095b5787f99af9f7813d9..27b0f8a156ae6b5c936772bf03d0d8ed8da4e42e 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertTransactionHistory.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertTransactionHistory.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertTransactionHistoryImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertTransactionHistoryImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLInsertTransactionHistory extends MySQLTransaction
     implements InsertTransactionHistoryImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLIsSubType.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLIsSubType.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLIsSubType.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLIsSubType.java
index 5a9b1a3e8b06d003229b3265c2777d046abcb6ef..bb847de7bf86e6e8a49414a52933a7bb87cf8d60 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLIsSubType.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLIsSubType.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.IsSubTypeImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.IsSubTypeImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLIsSubType extends MySQLTransaction implements IsSubTypeImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRegisterSubDomain.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRegisterSubDomain.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRegisterSubDomain.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRegisterSubDomain.java
index 055177a879d5ebad2e63cc3b77d56864c7bda437..ca4997281c76ec18e54dd1c165ca082eee5e0893 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRegisterSubDomain.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRegisterSubDomain.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RegisterSubDomainImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayDeque;
 import java.util.Deque;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RegisterSubDomainImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLRegisterSubDomain extends MySQLTransaction implements RegisterSubDomainImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAll.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAll.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAll.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAll.java
index 7ae921315f55e94994a2868d5b0a9b8d8406542b..ec0c0c1b0a067d529ecb72309d7fe83a8b37f819 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAll.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAll.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveAllImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Role;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveAllImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Role;
 
 public class MySQLRetrieveAll extends MySQLTransaction implements RetrieveAllImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAllUncheckedFiles.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAllUncheckedFiles.java
similarity index 91%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAllUncheckedFiles.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAllUncheckedFiles.java
index 0e557da58074729b9c3635453dd4b84b657599bb..09a4e7c2edabea49617224fdb9159116f2cd742b 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAllUncheckedFiles.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAllUncheckedFiles.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveAllUncheckedFilesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.Iterator;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveAllUncheckedFilesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class MySQLRetrieveAllUncheckedFiles extends MySQLTransaction
     implements RetrieveAllUncheckedFilesImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveDatatypes.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveDatatypes.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveDatatypes.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveDatatypes.java
index a8e12672cf21592c23d8cea0aa22629b4b68855c..e085f0510a5c0a95f1e0a3bc2f702b4e345d706e 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveDatatypes.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveDatatypes.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveDatatypesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VerySparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveDatatypesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VerySparseEntity;
 
 public class MySQLRetrieveDatatypes extends MySQLTransaction implements RetrieveDatatypesImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveLogRecord.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveLogRecord.java
similarity index 93%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveLogRecord.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveLogRecord.java
index b675b967dda169ad57c8e721dbb82d10eb0563d4..bba36d2eb9de29fee40f023b9b97602d5b94b8a3 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveLogRecord.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveLogRecord.java
@@ -20,11 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveLogRecordImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.ObjectInputStream;
@@ -35,6 +32,9 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveLogRecordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLRetrieveLogRecord extends MySQLTransaction implements RetrieveLogRecordImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveParents.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveParents.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveParents.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveParents.java
index 721ba566ed389732456342aab78691c171b33922..7b8c0d48db3c84183c16b449822065e0c8d798b9 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveParents.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveParents.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveParentsImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VerySparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Types;
 import java.util.ArrayList;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveParentsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VerySparseEntity;
 
 public class MySQLRetrieveParents extends MySQLTransaction implements RetrieveParentsImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePasswordValidator.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePasswordValidator.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePasswordValidator.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePasswordValidator.java
index 9b951cba69f9b637e333bfb93f3459fc9a0366a4..1ff7dd7afd0b468a90d9e3b82faca1adc5cae84f 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePasswordValidator.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePasswordValidator.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.accessControl.CredentialsValidator;
-import caosdb.server.accessControl.HashPasswordValidator;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import org.caosdb.server.accessControl.CredentialsValidator;
+import org.caosdb.server.accessControl.HashPasswordValidator;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLRetrievePasswordValidator extends MySQLTransaction
     implements RetrievePasswordValidatorImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePermissionRules.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePermissionRules.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePermissionRules.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePermissionRules.java
index 7428157e45156e18e0ce1819f731dd4729faee99..40767db34c2ba318637c87ebc7b21ba278c2c574 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePermissionRules.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePermissionRules.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.permissions.PermissionRule;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.HashSet;
 import java.util.Map;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.permissions.PermissionRule;
 import org.eclipse.jetty.util.ajax.JSON;
 
 public class MySQLRetrievePermissionRules extends MySQLTransaction
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveProperties.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveProperties.java
similarity index 91%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveProperties.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveProperties.java
index 9b6704c4cb3e6395c5b8239a3aefc34bb818e937..39de8692a48fb57b9ad22d0054bcd5bc3541e632 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveProperties.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveProperties.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
-
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrievePropertiesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.database.proto.ProtoProperty;
+package org.caosdb.server.database.backend.implementation.MySQL;
+
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Types;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrievePropertiesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.database.proto.ProtoProperty;
 
 public class MySQLRetrieveProperties extends MySQLTransaction implements RetrievePropertiesImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveQueryTemplateDefinition.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveQueryTemplateDefinition.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveQueryTemplateDefinition.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveQueryTemplateDefinition.java
index c6d88ec9f8fca1651318456161ed2c0347a47f21..fd0efb8e8756cfb7bec596382356e1ea951ad484 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveQueryTemplateDefinition.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveQueryTemplateDefinition.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveQueryTemplateDefinitionImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Types;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveQueryTemplateDefinitionImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLRetrieveQueryTemplateDefinition extends MySQLTransaction
     implements RetrieveQueryTemplateDefinitionImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveRole.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveRole.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveRole.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveRole.java
index 04cad3e9ad677e4e1d473ead7af06858b0e2a429..f0219040c47bc09fe2052d8e95a3ea83637e6aae 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveRole.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveRole.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLRetrieveRole extends MySQLTransaction implements RetrieveRoleImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveSparseEntity.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveSparseEntity.java
index 097961974b0c599480e8186f170665838e7d046e..3775c1dd4f0b87eb36f43084776d58c0f14f5f80 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveSparseEntity.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveSparseEntityImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Types;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveSparseEntityImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 /**
  * Retrieve a single SparseEntity by id.
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveTransactionHistory.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveTransactionHistory.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveTransactionHistory.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveTransactionHistory.java
index 43785187d6293c601f1d5b49ac12a7980df218da..3273f49aa85776c4fd323ed4c027f4d1fcd3fbb0 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveTransactionHistory.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveTransactionHistory.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveTransactionHistoryImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoTransactionLogMessage;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveTransactionHistoryImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoTransactionLogMessage;
 
 public class MySQLRetrieveTransactionHistory extends MySQLTransaction
     implements RetrieveTransactionHistoryImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveUser.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveUser.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveUser.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveUser.java
index 97ef5084da95ccd56d760ae4e04aacab60c97665..bde1878db5d49b2da201b7d589c1ee8b8d73f656 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveUser.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveUser.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserStatus;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.HashSet;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.UserStatus;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
 
 public class MySQLRetrieveUser extends MySQLTransaction implements RetrieveUserImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveVersionHistory.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveVersionHistory.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveVersionHistory.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveVersionHistory.java
index 22ac0c2e30c0f48fbc884f40593bac2dc45d7b7d..a3c87ae6e97d3b26a99126b61d1d29db1ef6206a 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveVersionHistory.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveVersionHistory.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveVersionHistoryImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VersionHistoryItem;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.HashMap;
 import java.util.LinkedList;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveVersionHistoryImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VersionHistoryItem;
 
 /**
  * Transaction to retrieve all versions of an entity.
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRuleLoader.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRuleLoader.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRuleLoader.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRuleLoader.java
index a240a7dec99e881c73912e638bc13314c10b68af..525c3973e5267d336727e723a383aff575dd8493 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRuleLoader.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRuleLoader.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RuleLoaderImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.Rule;
-import caosdb.server.jobs.core.Mode;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RuleLoaderImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.Rule;
+import org.caosdb.server.jobs.core.Mode;
 
 public class MySQLRuleLoader extends MySQLTransaction implements RuleLoaderImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetFileCheckedTimestampImpl.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetFileCheckedTimestampImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetFileCheckedTimestampImpl.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetFileCheckedTimestampImpl.java
index 14214077dfb3fb6ae3e5d589e15e17929810cd3e..fa4c60ad1a688fa13ee8e1f82ee6a8a1649d6d4f 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetFileCheckedTimestampImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetFileCheckedTimestampImpl.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.SetFileCheckedTimestampImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.SetFileCheckedTimestampImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLSetFileCheckedTimestampImpl extends MySQLTransaction
     implements SetFileCheckedTimestampImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetPassword.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetPassword.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetPassword.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetPassword.java
index cacbdb4dc7d88338691f3f70890a1caeb677d246..9972c3af019f092087158a9f85659af9cdd2b6dc 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetPassword.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetPassword.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.SetPasswordImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Utils;
 import java.math.BigInteger;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.security.SecureRandom;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.SetPasswordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Utils;
 
 public class MySQLSetPassword extends MySQLTransaction implements SetPasswordImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetPermissionRules.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetPermissionRules.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetPermissionRules.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetPermissionRules.java
index c4691e8a01540b7f0557a1c219970d411aa87cae..1569cd494c44eed6ebc083b8e5046ea6649f7ad1 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetPermissionRules.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetPermissionRules.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.SetPermissionRulesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.permissions.PermissionRule;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.SetPermissionRulesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.permissions.PermissionRule;
 import org.eclipse.jetty.util.ajax.JSON;
 
 public class MySQLSetPermissionRules extends MySQLTransaction implements SetPermissionRulesImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetQueryTemplateDefinition.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetQueryTemplateDefinition.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetQueryTemplateDefinition.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetQueryTemplateDefinition.java
index 29f87a3f399209f440b88bb04d545816fc0958b2..e938010ca56f85d7ad574e51d1b8ef7d88b6c5ad 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetQueryTemplateDefinition.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetQueryTemplateDefinition.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.SetQueryTemplateDefinitionImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.SetQueryTemplateDefinitionImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLSetQueryTemplateDefinition extends MySQLTransaction
     implements SetQueryTemplateDefinitionImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSyncStats.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSyncStats.java
similarity index 94%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSyncStats.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSyncStats.java
index 4cae9e41560cfddf05c1d7e015e38b7af419a55f..c874f21b14e15889cb0345303318ecf3504b7c05 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSyncStats.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSyncStats.java
@@ -20,12 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.SyncStatsImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.ServerStat;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -36,6 +32,10 @@ import java.io.ObjectOutputStream;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.SyncStatsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.ServerStat;
 
 public class MySQLSyncStats extends MySQLTransaction implements SyncStatsImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLTransaction.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLTransaction.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLTransaction.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLTransaction.java
index f116a136c1b3e1942ddc2400139db3c82210fac8..5b46579efeac34078fa176f03eb94206dc72f0e0 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLTransaction.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLTransaction.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.BackendTransactionImpl;
-import caosdb.server.database.misc.DBHelper;
-import caosdb.server.database.misc.TransactionBenchmark;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.BackendTransactionImpl;
+import org.caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.database.misc.TransactionBenchmark;
 
 public class MySQLTransaction implements BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateSparseEntity.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateSparseEntity.java
index 73c589fade317586cc1b5bfb4b796578f9e819ba..18b59ef9121bd2f488efcb657a3bf158b6e14308 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateSparseEntity.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.UpdateSparseEntityImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.SQLIntegrityConstraintViolationException;
 import java.sql.Types;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.UpdateSparseEntityImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class MySQLUpdateSparseEntity extends MySQLTransaction implements UpdateSparseEntityImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUser.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUser.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUser.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUser.java
index 4d35ac31d0ab9ff5fc42ce6ac7da988e283f9899..bd368698956163a8473ead7507aac0ba2b83d552 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUser.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUser.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.UpdateUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.sql.Types;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.UpdateUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
 
 public class MySQLUpdateUser extends MySQLTransaction implements UpdateUserImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUserRoles.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUserRoles.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUserRoles.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUserRoles.java
index 96b759a3a4e986da177a21e218bbad853b5e0ca5..62cb68bf58fc8269cc365fa167929ff79726499b 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUserRoles.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUserRoles.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.UpdateUserRolesImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.util.HashSet;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.UpdateUserRolesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLUpdateUserRoles extends MySQLTransaction implements UpdateUserRolesImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckHash.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckHash.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckHash.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckHash.java
index 84a195b324ff456dde97271c22e3b14c17bf6131..e6b95a9925bbd560b9ccf80cdb6883efc2098f49 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckHash.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckHash.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.FileCheckHash;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.Hasher;
 import java.io.File;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.FileCheckHash;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.Hasher;
 
 public class UnixFileSystemCheckHash extends UnixFileSystemTransaction implements FileCheckHash {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckSize.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckSize.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckSize.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckSize.java
index 019b3925efd9ce22da8c945a3adcd4b586aa0d1a..c695ff58ec9ca0b41f7aaa1ce5513a5ec657d9a6 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckSize.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckSize.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.FileCheckSize;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.FileCheckSize;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
 
 public class UnixFileSystemCheckSize extends UnixFileSystemTransaction implements FileCheckSize {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileExists.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileExists.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileExists.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileExists.java
index cc163c7faede75fb216be2c99f532568a36b1f22..908d917c1b858eb7d6da77bfe90fae7e4f6c6289 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileExists.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileExists.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.FileExists;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.FileExists;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
 
 public class UnixFileSystemFileExists extends UnixFileSystemTransaction implements FileExists {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileWasModifiedAfter.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileWasModifiedAfter.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileWasModifiedAfter.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileWasModifiedAfter.java
index 6b98d37d2911e9853caa5c29e05e4392e433d17d..70c97fecd67af94aa153fa6e0c6b0c8154cc936d 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileWasModifiedAfter.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileWasModifiedAfter.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.FileWasModifiedAfter;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.FileWasModifiedAfter;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
 
 public class UnixFileSystemFileWasModifiedAfter extends UnixFileSystemTransaction
     implements FileWasModifiedAfter {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java
index 5bd6cd56fa40dc8696a8471e33381f1ab2584639..89c275dd6d1fdd324f86f6cce6de179f795c7915 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.FileSystem;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetFileIteratorImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
 import java.io.File;
 import java.util.Arrays;
 import java.util.Iterator;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetFileIteratorImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
 
 public class UnixFileSystemGetFileIterator extends UnixFileSystemTransaction
     implements GetFileIteratorImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemHelper.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemHelper.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemHelper.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemHelper.java
index 5b197f3d4e6268e604aa27447f43a98857a5fec7..260a401fa6609dbfae363023a3ceb8b717bb87c7 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemHelper.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemHelper.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.database.misc.DBHelper;
-import caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.transaction.TransactionInterface;
 
 public class UnixFileSystemHelper implements DBHelper {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemTransaction.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemTransaction.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemTransaction.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemTransaction.java
index 63e87d6a4f968d3d4833111f9ca9875daf18d9cc..ccf137448ee445f86594017ffc28a09d24158bcb 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemTransaction.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemTransaction.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.FileSystem;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.BackendTransactionImpl;
-import caosdb.server.database.misc.DBHelper;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.entity.Message;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.BackendTransactionImpl;
+import org.caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.entity.Message;
 
 public abstract class UnixFileSystemTransaction implements BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/BackendTransactionImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/BackendTransactionImpl.java
similarity index 90%
rename from src/main/java/caosdb/server/database/backend/interfaces/BackendTransactionImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/BackendTransactionImpl.java
index d4751f94cda0b0bdea703d5f207527ea756681f3..8a2dbb0cc67776e68cf6dd9a437754f233ae6190 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/BackendTransactionImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/BackendTransactionImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.database.misc.TransactionBenchmark;
 
 public interface BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/DeleteEntityPropertiesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteEntityPropertiesImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/DeleteEntityPropertiesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/DeleteEntityPropertiesImpl.java
index d53bb92eaa64dfba603430351489d702d5d10d93..93b7023bf10fd1b035b8d8483bc328cfef5aa5c4 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/DeleteEntityPropertiesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteEntityPropertiesImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Undoable;
 
 public interface DeleteEntityPropertiesImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/DeletePasswordImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/DeletePasswordImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/DeletePasswordImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/DeletePasswordImpl.java
index 9def6b6326203df923a384ac3b58d89df9eda0d5..32c485a97776b0b24efaf32b8719f85b2a770cab 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/DeletePasswordImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/DeletePasswordImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface DeletePasswordImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/DeleteRoleImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteRoleImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/DeleteRoleImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/DeleteRoleImpl.java
index 230b3c04f4b11eefde2a4335c66a5ebcc1242219..0bd6c5c71921961032fa33741c35210ffb455915 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/DeleteRoleImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteRoleImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface DeleteRoleImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/DeleteSparseEntityImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteSparseEntityImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/DeleteSparseEntityImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/DeleteSparseEntityImpl.java
index 4c05ac0daabc7a23c2bfa85c9ca115ec85b5b1f9..30ee60609065c0ac02b5b40a143c0643d37b5667 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/DeleteSparseEntityImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteSparseEntityImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Undoable;
 
 public interface DeleteSparseEntityImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/DeleteUserImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteUserImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/DeleteUserImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/DeleteUserImpl.java
index 4f717f738845886d0779d47e19003e64ef323461..3ee0a1e4f7cea5ee00810149b2da589217e8dfe7 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/DeleteUserImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteUserImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface DeleteUserImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/FileCheckHash.java b/src/main/java/org/caosdb/server/database/backend/interfaces/FileCheckHash.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/FileCheckHash.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/FileCheckHash.java
index 11bc5cba2dc606ae02b1627b027a6c266fe43f67..edd0718c41d17f045009c1c84f1fe31260ac225f 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/FileCheckHash.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/FileCheckHash.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Hasher;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Hasher;
 
 public interface FileCheckHash extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/FileCheckSize.java b/src/main/java/org/caosdb/server/database/backend/interfaces/FileCheckSize.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/FileCheckSize.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/FileCheckSize.java
index 36baac7422a73068ec9e37cb7636489ce6c4312d..bce3249865e8c9373ee26e59496a568a494b2021 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/FileCheckSize.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/FileCheckSize.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface FileCheckSize extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/FileExists.java b/src/main/java/org/caosdb/server/database/backend/interfaces/FileExists.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/FileExists.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/FileExists.java
index 546b6a9decef489b128813dd944f3c7aa66dc281..9a5ab664547113477a1f3ae0175d7a6f37311d10 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/FileExists.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/FileExists.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface FileExists extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/FileWasModifiedAfter.java b/src/main/java/org/caosdb/server/database/backend/interfaces/FileWasModifiedAfter.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/FileWasModifiedAfter.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/FileWasModifiedAfter.java
index 318a15a48c29f8e479ddb192ec24a7750ca1dbcd..08fccc584e1ae653b478abf22a34d4b57b6c4c89 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/FileWasModifiedAfter.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/FileWasModifiedAfter.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface FileWasModifiedAfter extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetAllNamesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetAllNamesImpl.java
similarity index 73%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetAllNamesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetAllNamesImpl.java
index 3a89e579d2713457c72ec2df73e1c1c936d50db2..9ca7a04052eef00c3202fa5b3375b3abe6d7fb54 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetAllNamesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetAllNamesImpl.java
@@ -1,7 +1,7 @@
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.proto.SparseEntity;
 import java.util.List;
+import org.caosdb.server.database.proto.SparseEntity;
 
 /**
  * Interface for the retrieval of all known names from the backend.
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetChildrenImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetChildrenImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetChildrenImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetChildrenImpl.java
index 7f7f7450934787e7abae2ed3b1dbc27b3501e6fd..a58579feb9de5982a09629dfe018e564c4e62b55 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetChildrenImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetChildrenImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface GetChildrenImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetDependentEntitiesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetDependentEntitiesImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetDependentEntitiesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetDependentEntitiesImpl.java
index 1ed4cf5ffe6ebb5966bd942e6cbd37bacd369f40..ca63fac685ce97f75954b996ba9ee74013ae5b46 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetDependentEntitiesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetDependentEntitiesImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface GetDependentEntitiesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetFileIteratorImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetFileIteratorImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetFileIteratorImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetFileIteratorImpl.java
index 5288689936c67648de98de130c8249f92ec1b8f2..0b7e45707d66c945380a6398dea8f5f1a36cc604 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetFileIteratorImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetFileIteratorImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.Iterator;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface GetFileIteratorImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetFileRecordByPathImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetFileRecordByPathImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetFileRecordByPathImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetFileRecordByPathImpl.java
index d0dd185aff415ad8ed156b27e8d22e792b896916..e7f6966709cf34518e37ec42143f1dc8794ed5ff 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetFileRecordByPathImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetFileRecordByPathImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public interface GetFileRecordByPathImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetIDByNameImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetIDByNameImpl.java
similarity index 90%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetIDByNameImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetIDByNameImpl.java
index 23a06a1dd4a4388cf43a83ecf237c23f0f9ed482..d788a3570ebd045549420456814786b5e0b15b42 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetIDByNameImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetIDByNameImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface GetIDByNameImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetInfoImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetInfoImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetInfoImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetInfoImpl.java
index 5281242461f39f9449a136ae44f5235b8dc167fa..d2bb1326e591d912a0562664ec2d26c0008827f9 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetInfoImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetInfoImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoInfo;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoInfo;
 
 public interface GetInfoImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetUpdateableChecksumsImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetUpdateableChecksumsImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetUpdateableChecksumsImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetUpdateableChecksumsImpl.java
index d7d3b142474f1e1398f9bc109fefad7b62e1c0c2..53aac4905a331a9f1e5fc71708cef9fdfa20efa5 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetUpdateableChecksumsImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetUpdateableChecksumsImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface GetUpdateableChecksumsImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/org/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..6da8d5cf9a7534e58cfbe634ad4594da2b2b466c
--- /dev/null
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java
@@ -0,0 +1,8 @@
+package org.caosdb.server.database.backend.interfaces;
+
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.utils.Undoable;
+
+public interface InsertEntityDatatypeImpl extends BackendTransactionImpl, Undoable {
+  public abstract void execute(SparseEntity entity);
+}
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertEntityPropertiesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertEntityPropertiesImpl.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertEntityPropertiesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertEntityPropertiesImpl.java
index 14c76afaa6cf6372b8b35977b70ce1a18c276464..e45fe9ead23f963c3010577de61be02e7c00042f 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertEntityPropertiesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertEntityPropertiesImpl.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.datatype.AbstractDatatype.Table;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
+import org.caosdb.server.utils.Undoable;
 
 public interface InsertEntityPropertiesImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertLinConImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertLinConImpl.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertLinConImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertLinConImpl.java
index 679f682441c0f5647d009874ef596a3df719acba..98ba022ecf7fb061a6d95190bc3b6f1007cf51ac 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertLinConImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertLinConImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.LinCon;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.LinCon;
+import org.caosdb.server.utils.Undoable;
 
 public interface InsertLinConImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertLogRecordImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertLogRecordImpl.java
similarity index 90%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertLogRecordImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertLogRecordImpl.java
index 511e0ed4b1ffdb645b45a4db96283e0059b6726f..78bab8e251ff6e151963f1be8caf5e73211cc8e3 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertLogRecordImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertLogRecordImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface InsertLogRecordImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertParentsImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertParentsImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertParentsImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertParentsImpl.java
index f83aa32e633c113379926ddc5e3c9b6c9e4b7ae5..aa65abe60be758197c761be3d728437c53fefcf3 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertParentsImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertParentsImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Undoable;
 
 public interface InsertParentsImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertRoleImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertRoleImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertRoleImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertRoleImpl.java
index 3ee2746cc93f8a47dbca675839360ea5297309e1..ff305cab73f58928774cfdbdba95dbc61dad3077 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertRoleImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertRoleImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface InsertRoleImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertSparseEntityImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertSparseEntityImpl.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertSparseEntityImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertSparseEntityImpl.java
index 8ad9a9f7ac0608c4e1e51ba4783a985d0e20d985..33f46e97872bcd6a519d6980234b201639aa5e1e 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertSparseEntityImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertSparseEntityImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.utils.Undoable;
 
 public interface InsertSparseEntityImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertTransactionHistoryImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertTransactionHistoryImpl.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertTransactionHistoryImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertTransactionHistoryImpl.java
index 0ccb5d1548670eca923bd0f845f68b00e7ce6df9..a0b7db433ef24c515946e3b4fb1556f2aa2a7c16 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertTransactionHistoryImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertTransactionHistoryImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Undoable;
 
 public interface InsertTransactionHistoryImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/IsSubTypeImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/IsSubTypeImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/IsSubTypeImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/IsSubTypeImpl.java
index 7a4f9717d01817aa6e0ae3bde5a9b7df56a923d0..2e61c5fb1331ebd102e1e2034bc0ef6a47dcf5dc 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/IsSubTypeImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/IsSubTypeImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface IsSubTypeImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RegisterSubDomainImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RegisterSubDomainImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/RegisterSubDomainImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RegisterSubDomainImpl.java
index d5e0c7d1437376d5096d0b248613fcee304457e0..e9df6f8897b4753a273be9877c8a5fa49b106932 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RegisterSubDomainImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RegisterSubDomainImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.Deque;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface RegisterSubDomainImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveAllImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveAllImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveAllImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveAllImpl.java
index 54f8755e6a96ccac44bb471fecfa41fe0b1a6e9f..0aaa9707136ab1fc3cb498c80e2a1ad33771b746 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveAllImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveAllImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface RetrieveAllImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveAllUncheckedFilesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveAllUncheckedFilesImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveAllUncheckedFilesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveAllUncheckedFilesImpl.java
index 5d49a0e4a552e6faad4eeb6c9c9f8eb147b8fa65..031bfbf9a4566a6f5c1f7c017f86dcba81ed07ff 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveAllUncheckedFilesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveAllUncheckedFilesImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.util.Iterator;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public interface RetrieveAllUncheckedFilesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveDatatypesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveDatatypesImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveDatatypesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveDatatypesImpl.java
index aa20a3ce8ad3aa599bf719c433128faf285f12ff..91c68dc56a31fe520d6b29c4b6780afe433f9039 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveDatatypesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveDatatypesImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VerySparseEntity;
 import java.util.ArrayList;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VerySparseEntity;
 
 public interface RetrieveDatatypesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveLogRecordImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveLogRecordImpl.java
similarity index 90%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveLogRecordImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveLogRecordImpl.java
index 8fa00a0dc722213d264576b06679ac855484545f..b6646d269123d70a3b6d06a381c7a83792e1b659 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveLogRecordImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveLogRecordImpl.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface RetrieveLogRecordImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveParentsImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveParentsImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveParentsImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveParentsImpl.java
index 9dfb8cf57c260c7fe154c25f095886ca6a3c2698..1948be05dbb69cb0259184bf03413edd6c61dbb1 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveParentsImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveParentsImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VerySparseEntity;
 import java.util.ArrayList;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VerySparseEntity;
 
 public interface RetrieveParentsImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrievePasswordValidatorImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePasswordValidatorImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrievePasswordValidatorImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePasswordValidatorImpl.java
index 9eaee5f0fdc80356047aadc9d5ae6787228de6c7..3b3c285181416b484e3d0636828f6ef422f921c3 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrievePasswordValidatorImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePasswordValidatorImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.accessControl.CredentialsValidator;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.accessControl.CredentialsValidator;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface RetrievePasswordValidatorImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrievePermissionRulesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePermissionRulesImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrievePermissionRulesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePermissionRulesImpl.java
index 01d2c20d4fdfece4e1f57281dcaf20ee635642ce..cdbb5eb994cba45762c64244b9a4c1a4b2f40c33 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrievePermissionRulesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePermissionRulesImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.permissions.PermissionRule;
 import java.util.HashSet;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.permissions.PermissionRule;
 
 public interface RetrievePermissionRulesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrievePropertiesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePropertiesImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrievePropertiesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePropertiesImpl.java
index b9a15a526b857b9674432a96733c6f2fd8e5d4ea..54dba75e7b84dcae38d33a8bbd0245288dba65ee 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrievePropertiesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePropertiesImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoProperty;
 import java.util.ArrayList;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoProperty;
 
 public interface RetrievePropertiesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveQueryTemplateDefinitionImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveQueryTemplateDefinitionImpl.java
similarity index 94%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveQueryTemplateDefinitionImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveQueryTemplateDefinitionImpl.java
index cda336044de4bd0d37a3d67da140c744f2699f32..df144c796b9349699432945c861ac42c44045db0 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveQueryTemplateDefinitionImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveQueryTemplateDefinitionImpl.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
 public interface RetrieveQueryTemplateDefinitionImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveRoleImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveRoleImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveRoleImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveRoleImpl.java
index 518cac1abb030d4cb0cafbb21f53a88e6e2b94c2..92fde36b07d205b59cbf5000da403d936f03fe35 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveRoleImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveRoleImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface RetrieveRoleImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveSparseEntityImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveSparseEntityImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveSparseEntityImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveSparseEntityImpl.java
index 5b6978f8f456bf978c3ca60ae0da479eaf54ed0a..8bb790c98e2c45d788f7f1bd8ede6c7c4a2faa03 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveSparseEntityImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveSparseEntityImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public interface RetrieveSparseEntityImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveTransactionHistoryImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveTransactionHistoryImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveTransactionHistoryImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveTransactionHistoryImpl.java
index 217ec61c71f01d6c3ef7f0641b135f9a55900702..b02e4d9347e572941ab31e3a1a371470e1d8ee5c 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveTransactionHistoryImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveTransactionHistoryImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoTransactionLogMessage;
 import java.util.ArrayList;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoTransactionLogMessage;
 
 public interface RetrieveTransactionHistoryImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveUserImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveUserImpl.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveUserImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveUserImpl.java
index ffb1f16a7227c845c8b4c51f5dd0e97ac5f33f4e..2ff8286331add6143d76d18562935d795ba85cff 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveUserImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveUserImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
 
 public interface RetrieveUserImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveVersionHistoryImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveVersionHistoryImpl.java
similarity index 61%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveVersionHistoryImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveVersionHistoryImpl.java
index 118e783d816ce45d1a43738bf8959e4a94740d3c..50b6e13ca8eeb4b6b404ba3e9deb776111e5011e 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveVersionHistoryImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveVersionHistoryImpl.java
@@ -1,7 +1,7 @@
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.proto.VersionHistoryItem;
 import java.util.HashMap;
+import org.caosdb.server.database.proto.VersionHistoryItem;
 
 public interface RetrieveVersionHistoryImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RuleLoaderImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RuleLoaderImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/RuleLoaderImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RuleLoaderImpl.java
index c1e84dd3f97ab9fc1f2b9e477a2df120119c9356..151e3d9d21d02d953cffeec8a55b4e01377fc023 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RuleLoaderImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RuleLoaderImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.Rule;
 import java.util.ArrayList;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.Rule;
 
 public interface RuleLoaderImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/SetFileCheckedTimestampImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/SetFileCheckedTimestampImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/SetFileCheckedTimestampImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/SetFileCheckedTimestampImpl.java
index eab362764d5fd6fe4392c375a2bb324d26ba895d..a398353978b430bbc655ad78b1cadbfcc91f1d9e 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/SetFileCheckedTimestampImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/SetFileCheckedTimestampImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface SetFileCheckedTimestampImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/SetPasswordImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/SetPasswordImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/SetPasswordImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/SetPasswordImpl.java
index 6e4c951feb55d27b61f60a699f315d18e2662a3e..e60f578879ae1dde60c257e7b7dadd523319daa1 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/SetPasswordImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/SetPasswordImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface SetPasswordImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/SetPermissionRulesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/SetPermissionRulesImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/SetPermissionRulesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/SetPermissionRulesImpl.java
index 29a28415012b7fee4eb2a1219729e293db6f78cf..89ab9bd13acfc67e8d500b3645ffc1770b183c55 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/SetPermissionRulesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/SetPermissionRulesImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.permissions.PermissionRule;
 import java.util.Set;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.permissions.PermissionRule;
 
 public interface SetPermissionRulesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/SetQueryTemplateDefinitionImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/SetQueryTemplateDefinitionImpl.java
similarity index 94%
rename from src/main/java/caosdb/server/database/backend/interfaces/SetQueryTemplateDefinitionImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/SetQueryTemplateDefinitionImpl.java
index 4d6695fe5d8fe574c44ad39a1342cf43a2628d33..aee26c5e53117028a9de91911cf9710a4164b6a7 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/SetQueryTemplateDefinitionImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/SetQueryTemplateDefinitionImpl.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
 public interface SetQueryTemplateDefinitionImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/SyncStatsImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/SyncStatsImpl.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/interfaces/SyncStatsImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/SyncStatsImpl.java
index 6a4d1d39cf607f79295bc3e761fe40912e5f5c31..d5a15f0e88cdc4be6e3b726a559f766e053bda2e 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/SyncStatsImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/SyncStatsImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.ServerStat;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.ServerStat;
 
 public interface SyncStatsImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/UpdateSparseEntityImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/UpdateSparseEntityImpl.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/interfaces/UpdateSparseEntityImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/UpdateSparseEntityImpl.java
index f35832097bfb2b1738c343fceb51c8b259e10f4a..e7cb2612d1f90c826004fc168b355c1537574e00 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/UpdateSparseEntityImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/UpdateSparseEntityImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.utils.Undoable;
 
 public interface UpdateSparseEntityImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/UpdateUserImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/UpdateUserImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/UpdateUserImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/UpdateUserImpl.java
index 5479c13fd1fdf4cb59996816a778494328f03cfa..eb26002c1163295d9dd00c32bd8d092ad26b2b55 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/UpdateUserImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/UpdateUserImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
 
 public interface UpdateUserImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/UpdateUserRolesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/UpdateUserRolesImpl.java
similarity index 90%
rename from src/main/java/caosdb/server/database/backend/interfaces/UpdateUserRolesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/UpdateUserRolesImpl.java
index 5d1763b6c74ba8b5ca55b317bf708c1bfd2bbda9..f2abfbe3cb7846f16e21d8f9a719ad708884841c 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/UpdateUserRolesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/UpdateUserRolesImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.HashSet;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface UpdateUserRolesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeleteEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteEntity.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/DeleteEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeleteEntity.java
index e94d90e6e8430d7aace3fa84ea22f6f458cbc41a..7f3d3435e1d4913d99ea0c9b7b064da85e12ac02 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeleteEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteEntity.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
 
 public class DeleteEntity extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeleteEntityProperties.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteEntityProperties.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/transaction/DeleteEntityProperties.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeleteEntityProperties.java
index 984ca5eb853e356814aafb69ebd9860bee4fe8a1..7b02fbf003e49c18bc14a602f7e2f781b495c682 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeleteEntityProperties.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteEntityProperties.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import static caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
+import static org.caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.DeleteEntityPropertiesImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.DeleteEntityPropertiesImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.utils.EntityStatus;
 
 public class DeleteEntityProperties extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeleteFile.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteFile.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/DeleteFile.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeleteFile.java
index 82c022bef0f321f5a1be81e5f58207c9d06cd427..254e4e70d27518d676ada2d73d28a750148c8871 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeleteFile.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteFile.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
 import java.io.IOException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
 
 public class DeleteFile extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeletePassword.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeletePassword.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/DeletePassword.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeletePassword.java
index a467ae18367c91f02dd2cccefb4a336fe61c1210..402726a945d606091cd83505c69631f28d3ec455 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeletePassword.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeletePassword.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.DeletePasswordImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.DeletePasswordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class DeletePassword extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeleteRole.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteRole.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/DeleteRole.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeleteRole.java
index 1c80d1b99ccc234b51db93a59b73da508fc35982..eab8f6f3d5a8bf8153d1855de653f840a41bb302 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeleteRole.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteRole.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.DeleteRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.DeleteRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class DeleteRole extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeleteSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteSparseEntity.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/transaction/DeleteSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeleteSparseEntity.java
index a2e4de6482d78053ab01c70ea3634c3f8af232a3..55989d219ad738d5a866e0ef6f322368c8fc559b 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeleteSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteSparseEntity.java
@@ -22,15 +22,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import static caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
+import static org.caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.DeleteSparseEntityImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.DeleteSparseEntityImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.utils.EntityStatus;
 
 public class DeleteSparseEntity extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeleteUser.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteUser.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/transaction/DeleteUser.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeleteUser.java
index 90f2d02e8cbfc2d37aba745cf5601f075ad75e06..13ea87446a8d8e786629ec6d7d9ffd032c0f58d0 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeleteUser.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteUser.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.DeleteUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.DeleteUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class DeleteUser extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/FileConsistencyCheck.java b/src/main/java/org/caosdb/server/database/backend/transaction/FileConsistencyCheck.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/FileConsistencyCheck.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/FileConsistencyCheck.java
index 5238ec7494abc15baa42e9b8f9d4f659ccd9af99..5cece246538219266537613aec31da24962e1910 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/FileConsistencyCheck.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/FileConsistencyCheck.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.FileCheckHash;
-import caosdb.server.database.backend.interfaces.FileCheckSize;
-import caosdb.server.database.backend.interfaces.FileExists;
-import caosdb.server.database.backend.interfaces.FileWasModifiedAfter;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Hasher;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.FileCheckHash;
+import org.caosdb.server.database.backend.interfaces.FileCheckSize;
+import org.caosdb.server.database.backend.interfaces.FileExists;
+import org.caosdb.server.database.backend.interfaces.FileWasModifiedAfter;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Hasher;
 
 public class FileConsistencyCheck extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetAllNames.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetAllNames.java
similarity index 61%
rename from src/main/java/caosdb/server/database/backend/transaction/GetAllNames.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetAllNames.java
index f30ec5b2b33de6ba7341b26f4e94244f6501255c..f45f5104283d7d27771a3e2a9b0a38772d4cccf0 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetAllNames.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetAllNames.java
@@ -1,12 +1,12 @@
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetAllNamesImpl;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetAllNamesImpl;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
 
 public class GetAllNames extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetChildren.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetChildren.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/GetChildren.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetChildren.java
index d476345c2e05cf75d5bcfdf333edf760ff991e3a..32bf8883b9f2662207352c8b80356b95f97d7d76 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetChildren.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetChildren.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetChildrenImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetChildrenImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class GetChildren extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetDependentEntities.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetDependentEntities.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/GetDependentEntities.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetDependentEntities.java
index e4e6e96f999d5ceb3402d1235de04ae6f32e358b..067a422fd509b0987e0e5c8b69da1ee081c258a0 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetDependentEntities.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetDependentEntities.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetDependentEntitiesImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetDependentEntitiesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class GetDependentEntities extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetFileIterator.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetFileIterator.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/GetFileIterator.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetFileIterator.java
index 7e28ff243575f75ea577ec80029507cfa1d49d17..c5db6bef59ddf18c95218f442556b6ee6b27ad8a 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetFileIterator.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetFileIterator.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetFileIteratorImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.Iterator;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetFileIteratorImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class GetFileIterator extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetFileRecordByPath.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetFileRecordByPath.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/GetFileRecordByPath.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetFileRecordByPath.java
index 6366bd2884aca38a0d54eca4a926fcc7e8b9cda4..1a7fa8635366cce858c35f54378090ebad72fb8f 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetFileRecordByPath.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetFileRecordByPath.java
@@ -22,15 +22,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.backend.interfaces.GetFileRecordByPathImpl;
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetFileRecordByPathImpl;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class GetFileRecordByPath extends CacheableBackendTransaction<String, SparseEntity> {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetIDByName.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetIDByName.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/GetIDByName.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetIDByName.java
index 895cd707b57d70693ec6a80396b26bce391027af..b43db0010eeeb3179bb91333d854872f5e8ab18a 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetIDByName.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetIDByName.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetIDByNameImpl;
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.EntityWasNotUniqueException;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetIDByNameImpl;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.EntityWasNotUniqueException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class GetIDByName extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetInfo.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetInfo.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/transaction/GetInfo.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetInfo.java
index dd7cfc5a6dd40e2075ecfe0987536b089aea7ef5..a1662ec03f8f5dc2fe424ba10f26e9ba4803b72c 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetInfo.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetInfo.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetInfoImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoInfo;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetInfoImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoInfo;
 
 public class GetInfo extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetUpdateableChecksums.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetUpdateableChecksums.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/transaction/GetUpdateableChecksums.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetUpdateableChecksums.java
index b70c1918942a4ff376e57c5649ce5436cf7c9140..eade9ea62168710e8928e52d1dc9176e366e0300 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetUpdateableChecksums.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetUpdateableChecksums.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetUpdateableChecksumsImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetUpdateableChecksumsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class GetUpdateableChecksums extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntity.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertEntity.java
index e258504908b44c8054a56315fa26e8dacae8b023..42439aa54e06e2556cb7b814f1c9056afb35f9d7 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntity.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.utils.EntityStatus;
 
 public class InsertEntity extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertEntityDatatype.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityDatatype.java
similarity index 56%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertEntityDatatype.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityDatatype.java
index 58aa4d88498e7493466cde844d241336b29e3896..182874d1f1e30ed8f5249e609dbbc42a724d94af 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertEntityDatatype.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityDatatype.java
@@ -1,12 +1,12 @@
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import static caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
+import static org.caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertEntityDatatypeImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertEntityDatatypeImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.EntityInterface;
 
 public class InsertEntityDatatype extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertEntityProperties.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityProperties.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertEntityProperties.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityProperties.java
index a777d4206c4dc0822a4f27912a3ec708c03edd56..bd5bf63a5eb7b194e119c56293e756ff0c4b6a20 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertEntityProperties.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityProperties.java
@@ -20,26 +20,26 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
-
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.AbstractDatatype.Table;
-import caosdb.server.datatype.CollectionValue;
-import caosdb.server.datatype.IndexedSingleValue;
-import caosdb.server.datatype.SingleValue;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.entity.wrapper.Property;
+package org.caosdb.server.database.backend.transaction;
+
 import java.util.ArrayList;
 import java.util.Deque;
 import java.util.Iterator;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
+import org.caosdb.server.datatype.CollectionValue;
+import org.caosdb.server.datatype.IndexedSingleValue;
+import org.caosdb.server.datatype.SingleValue;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.entity.wrapper.Property;
 
 public class InsertEntityProperties extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertEntityValue.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityValue.java
similarity index 79%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertEntityValue.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityValue.java
index 56ace8d9d2ff6cac5c611ca43424a3bdd8ecbb54..8ec6b0d1fab731d3d51b3a6793c69293575e6462 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertEntityValue.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityValue.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.datatype.SingleValue;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.StatementStatus;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.datatype.SingleValue;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.StatementStatus;
 
 public class InsertEntityValue extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertFile.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertFile.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertFile.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertFile.java
index fe9b930e7a51391e3379f76b6393081edbcc0583..f92dc62bb131fcfe6af2cf51c1c6abeaee7c4dda 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertFile.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertFile.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.EntityStatus;
 import java.io.IOException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.EntityStatus;
 
 public class InsertFile extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertLinCon.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertLinCon.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertLinCon.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertLinCon.java
index 279f9f1f93329e03098401a6fc25fd6e2c2fd386..68555010031cc8f8bfe48afcf2c4d5e310bed3d8 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertLinCon.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertLinCon.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertLinConImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.LinCon;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertLinConImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.LinCon;
 
 public class InsertLinCon extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertLogRecord.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertLogRecord.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertLogRecord.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertLogRecord.java
index 43a21d481d954d34dba66a2f9b824acfaac2aabd..3ce27add49761737c0a8365410c979665a3f16a9 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertLogRecord.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertLogRecord.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertLogRecordImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertLogRecordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class InsertLogRecord extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertParents.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertParents.java
similarity index 81%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertParents.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertParents.java
index 439b9f58a6b463a6a7bfe731b54b6690ea17ce96..d71fec922477d664c8c8eff98800164b3a691513 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertParents.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertParents.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertParentsImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertParentsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.utils.EntityStatus;
 
 public class InsertParents extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertRole.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertRole.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertRole.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertRole.java
index e44820d24c19b9215a1730e9b4f848f7578598b1..4ffa7d68f6ff8b2e328a22978803941b310c58a7 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertRole.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertRole.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class InsertRole extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertSparseEntity.java
similarity index 76%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertSparseEntity.java
index c8e20895711e16c40c75c89c9776e8ad55851117..1800168ebd2cd6ef4180e23046f95066597086e5 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertSparseEntity.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import static caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
+import static org.caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertSparseEntityImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Version;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertSparseEntityImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Version;
+import org.caosdb.server.utils.Undoable;
 
 public class InsertSparseEntity extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertTransactionHistory.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertTransactionHistory.java
similarity index 81%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertTransactionHistory.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertTransactionHistory.java
index 242eec2969b622a1f66cda5defd1d2b9d5dc5ead..db7393b04f0afe3c15622dfb750cf31d42050521 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertTransactionHistory.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertTransactionHistory.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertTransactionHistoryImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertTransactionHistoryImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.utils.EntityStatus;
 
 public class InsertTransactionHistory extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/IsSubType.java b/src/main/java/org/caosdb/server/database/backend/transaction/IsSubType.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/transaction/IsSubType.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/IsSubType.java
index ed91f761cabde5029b376e6a3132fc9dd93537eb..d75fb2c2453613c50915678d81f53f696589afd4 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/IsSubType.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/IsSubType.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.IsSubTypeImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.IsSubTypeImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class IsSubType extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RegisterSubDomain.java b/src/main/java/org/caosdb/server/database/backend/transaction/RegisterSubDomain.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/RegisterSubDomain.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RegisterSubDomain.java
index 08b999d0e0c1e36d108c89a0cf9eed513d3290e4..ecae501d40d4e6ed9ae54e44e12d37a7628699fd 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RegisterSubDomain.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RegisterSubDomain.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RegisterSubDomainImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.Deque;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RegisterSubDomainImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class RegisterSubDomain extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveAll.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveAll.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveAll.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveAll.java
index 5820547c853247245b398778fab97bd854a5a126..7b6173ede59720234c58c6ca882e69e4dda9e6b2 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveAll.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveAll.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveAllImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.container.TransactionContainer;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveAllImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.container.TransactionContainer;
 
 public class RetrieveAll extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveAllUncheckedFiles.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveAllUncheckedFiles.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveAllUncheckedFiles.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveAllUncheckedFiles.java
index b99694243d9b6571c1c96ac4ce3114543380c434..655e47b8312c3a9772ae3e9055bc73494236a0ec 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveAllUncheckedFiles.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveAllUncheckedFiles.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveAllUncheckedFilesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.util.Iterator;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveAllUncheckedFilesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class RetrieveAllUncheckedFiles extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveDatatypes.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveDatatypes.java
similarity index 76%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveDatatypes.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveDatatypes.java
index 44f8427aeb2911c0483be3824a1e3fe831350cb5..56efbdd3864c5997758417ad02a97b663dfce6e5 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveDatatypes.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveDatatypes.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveDatatypesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VerySparseEntity;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.container.Container;
 import java.util.ArrayList;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveDatatypesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VerySparseEntity;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.container.Container;
 
 public class RetrieveDatatypes extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveFullEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntity.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveFullEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntity.java
index ad0d39e94b56904def08a04a8a42a89627a7b4d6..2601367b7312331a981d2b352040962ac3a98a43 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveFullEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntity.java
@@ -22,22 +22,22 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
-
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.datatype.ReferenceDatatype;
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.container.Container;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.query.Query;
-import caosdb.server.query.Query.Selection;
-import caosdb.server.utils.EntityStatus;
+package org.caosdb.server.database.backend.transaction;
+
 import java.util.LinkedList;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.datatype.ReferenceDatatype;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.container.Container;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.query.Query;
+import org.caosdb.server.query.Query.Selection;
+import org.caosdb.server.utils.EntityStatus;
 
 /**
  * Retrieve the full entity from the backend - with all parents, properties, file properties and so
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveLogRecord.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveLogRecord.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveLogRecord.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveLogRecord.java
index 42211d4312af6370c0f0335dd823f6129719dafd..eae8a96589aab3558a1978890c85bdd18bc161dc 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveLogRecord.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveLogRecord.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveLogRecordImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveLogRecordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class RetrieveLogRecord extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveParents.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveParents.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveParents.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveParents.java
index d33d5e96d978fe86d6eb965113726eb79bb60d40..b551430a26ed6a254789258aca688521f5a57ae4 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveParents.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveParents.java
@@ -22,17 +22,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.backend.interfaces.RetrieveParentsImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VerySparseEntity;
-import caosdb.server.entity.EntityInterface;
 import java.util.ArrayList;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.backend.interfaces.RetrieveParentsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VerySparseEntity;
+import org.caosdb.server.entity.EntityInterface;
 
 // TODO Problem with the caching.
 // When an old entity version has a parent which is deleted, the name is
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrievePasswordValidator.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrievePasswordValidator.java
similarity index 81%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrievePasswordValidator.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrievePasswordValidator.java
index 36ce2c946388fdbee1caabe331355e8032684e8f..d8ea908dbfb0a7f4ae83830b050f976ac383aa6f 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrievePasswordValidator.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrievePasswordValidator.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.CredentialsValidator;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.accessControl.CredentialsValidator;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class RetrievePasswordValidator extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrievePermissionRules.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrievePermissionRules.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrievePermissionRules.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrievePermissionRules.java
index 7e9925777c21a6d041759cfdade7682b85458566..0ec6756194342341b64f9dc131b7b912f112a1dc 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrievePermissionRules.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrievePermissionRules.java
@@ -22,15 +22,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.permissions.PermissionRule;
 import java.util.HashSet;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.permissions.PermissionRule;
 
 public class RetrievePermissionRules
     extends CacheableBackendTransaction<String, HashSet<PermissionRule>> {
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveProperties.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveProperties.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveProperties.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveProperties.java
index 822f57fd49e54d7517578592acf09100924fe81b..726382f28c59a45a647098c3d227288fa1fabff6 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveProperties.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveProperties.java
@@ -22,19 +22,19 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.backend.interfaces.RetrievePropertiesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoProperty;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.wrapper.Property;
 import java.util.ArrayList;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.backend.interfaces.RetrievePropertiesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoProperty;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.wrapper.Property;
 
 public class RetrieveProperties
     extends CacheableBackendTransaction<String, ArrayList<ProtoProperty>> {
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveQueryTemplateDefinition.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveQueryTemplateDefinition.java
similarity index 81%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveQueryTemplateDefinition.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveQueryTemplateDefinition.java
index 0c96c72cb0be41aaf368c22009526914994bc8ec..90a8ac27d264731b5d714fdc0ada116795fd0ee2 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveQueryTemplateDefinition.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveQueryTemplateDefinition.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveQueryTemplateDefinitionImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveQueryTemplateDefinitionImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
 
 public class RetrieveQueryTemplateDefinition extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveRole.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveRole.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveRole.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveRole.java
index 5bb6150a8640f45997a4a3432ad4ac27196cd15c..1e855663590d85610860fcee246a4f1ed78a31b2 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveRole.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveRole.java
@@ -22,14 +22,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class RetrieveRole extends CacheableBackendTransaction<String, Role> {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveSparseEntity.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveSparseEntity.java
index 7843f57957d392c4bbf65f01a60d559cff11c6c8..db35c45d52f40e5e6083770878dda4baed61a5a6 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveSparseEntity.java
@@ -22,18 +22,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.backend.interfaces.RetrieveSparseEntityImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.utils.EntityStatus;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.backend.interfaces.RetrieveSparseEntityImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.utils.EntityStatus;
 
 public class RetrieveSparseEntity extends CacheableBackendTransaction<String, SparseEntity> {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveTransactionHistory.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveTransactionHistory.java
similarity index 79%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveTransactionHistory.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveTransactionHistory.java
index 72bc1e5b1ec3a3509cc5cbba23e38b908d4e969f..632ce20cfe71d0e116bbe3987a60c45b11085eec 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveTransactionHistory.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveTransactionHistory.java
@@ -22,16 +22,16 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveTransactionHistoryImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoTransactionLogMessage;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.utils.TransactionLogMessage;
 import java.util.ArrayList;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveTransactionHistoryImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoTransactionLogMessage;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.utils.TransactionLogMessage;
 
 public class RetrieveTransactionHistory extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveUser.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveUser.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveUser.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveUser.java
index 9f27152030f5c953ee7bd4ecfff8c83d3cbc8a73..3ffdee13fe2eac0b2078e44ecfdb1f1101fe137a 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveUser.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveUser.java
@@ -22,15 +22,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
 
 public class RetrieveUser extends CacheableBackendTransaction<Principal, ProtoUser> {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveVersionHistory.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveVersionHistory.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveVersionHistory.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveVersionHistory.java
index 20be2f8fb60ce54877fdb2fd85d27a6944a71d86..6077d6491fda93b96262b48783092578af37f4f8 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveVersionHistory.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveVersionHistory.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveVersionHistoryImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VersionHistoryItem;
-import caosdb.server.entity.EntityInterface;
 import java.util.Collection;
 import java.util.HashMap;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveVersionHistoryImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VersionHistoryItem;
+import org.caosdb.server.entity.EntityInterface;
 
 public abstract class RetrieveVersionHistory
     extends CacheableBackendTransaction<Integer, HashMap<String, VersionHistoryItem>> {
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveVersionInfo.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveVersionInfo.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveVersionInfo.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveVersionInfo.java
index 1daab0504cafbd05e9e03dff78b2c230a0438ccd..7d9fe5fd7ea42cf3d6aa29a127a7f82f7ec1764c 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveVersionInfo.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveVersionInfo.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VersionHistoryItem;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Version;
 import java.util.HashMap;
 import java.util.LinkedList;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VersionHistoryItem;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Version;
 
 public class RetrieveVersionInfo extends RetrieveVersionHistory {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RuleLoader.java b/src/main/java/org/caosdb/server/database/backend/transaction/RuleLoader.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/transaction/RuleLoader.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RuleLoader.java
index 303029b42179a697c939767e2caf4d490a803a69..2bc6a92a2449a8ba2d42119c0ba743129bcee2ac 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RuleLoader.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RuleLoader.java
@@ -22,19 +22,19 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.backend.interfaces.RuleLoaderImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.Rule;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.jobs.Job;
-import caosdb.server.transaction.Transaction;
 import java.util.ArrayList;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RuleLoaderImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.Rule;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.jobs.Job;
+import org.caosdb.server.transaction.Transaction;
 
 public class RuleLoader extends CacheableBackendTransaction<String, ArrayList<Rule>> {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/SetFileCheckedTimestamp.java b/src/main/java/org/caosdb/server/database/backend/transaction/SetFileCheckedTimestamp.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/SetFileCheckedTimestamp.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/SetFileCheckedTimestamp.java
index 1dd20a83a2fc27547a67eb6fce0d532ac24f442c..f7bf76c3d1cdcde7e712dd6d1ebe022c7300bea8 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/SetFileCheckedTimestamp.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/SetFileCheckedTimestamp.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.SetFileCheckedTimestampImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.SetFileCheckedTimestampImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class SetFileCheckedTimestamp extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/SetPassword.java b/src/main/java/org/caosdb/server/database/backend/transaction/SetPassword.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/SetPassword.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/SetPassword.java
index 1f6c1e5501cd6d810b85b243fd6c3274c0598feb..a22815ab9ddb09080c34a519454db53c18aeda92 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/SetPassword.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/SetPassword.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.SetPasswordImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.SetPasswordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class SetPassword extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/SetPermissionRules.java b/src/main/java/org/caosdb/server/database/backend/transaction/SetPermissionRules.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/transaction/SetPermissionRules.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/SetPermissionRules.java
index a632f299e223d2b46105b81f9b6b784b0cd58204..30986303b11eba2fb63b00d17029b81855277791 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/SetPermissionRules.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/SetPermissionRules.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.SetPermissionRulesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.permissions.PermissionRule;
 import java.util.Set;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.SetPermissionRulesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.permissions.PermissionRule;
 
 public class SetPermissionRules extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/SetQueryTemplateDefinition.java b/src/main/java/org/caosdb/server/database/backend/transaction/SetQueryTemplateDefinition.java
similarity index 81%
rename from src/main/java/caosdb/server/database/backend/transaction/SetQueryTemplateDefinition.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/SetQueryTemplateDefinition.java
index 10618ff04e8f00c18c60c796e873f7b3ae370d45..b697b04fa2be50c52c7cc565e31a58c3b2a4a3c2 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/SetQueryTemplateDefinition.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/SetQueryTemplateDefinition.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.SetQueryTemplateDefinitionImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.SetQueryTemplateDefinitionImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
 
 public class SetQueryTemplateDefinition extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/SyncStats.java b/src/main/java/org/caosdb/server/database/backend/transaction/SyncStats.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/SyncStats.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/SyncStats.java
index 8d82c1884d23f7a6bb1af5dafc7d5bb5d8945c56..d2650affcc956b82b8aed76b716221a6d43d5dc8 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/SyncStats.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/SyncStats.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.SyncStatsImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.ServerStat;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.SyncStatsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.ServerStat;
 
 public class SyncStats extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/UpdateEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateEntity.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/UpdateEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/UpdateEntity.java
index a7c9ba43f32b1ef97a6a09544041b39a2cd5c71a..9c20cb1d2d112e8d64ce5be2cfa8a7f8da20fe10 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/UpdateEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateEntity.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.utils.EntityStatus;
 
 public class UpdateEntity extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/UpdateSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateSparseEntity.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/transaction/UpdateSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/UpdateSparseEntity.java
index 309ff9cbde0131f4b90cc89301a2338a8b92971f..2385ec843a3d499d1184b58eca06f8ae05cbe4f8 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/UpdateSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateSparseEntity.java
@@ -22,14 +22,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
-
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.UpdateSparseEntityImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Version;
+package org.caosdb.server.database.backend.transaction;
+
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.UpdateSparseEntityImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Version;
 
 public class UpdateSparseEntity extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/UpdateUser.java b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateUser.java
similarity index 78%
rename from src/main/java/caosdb/server/database/backend/transaction/UpdateUser.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/UpdateUser.java
index 4f2c2776e936f7f5dd56edcaf2b55c97e8f430bb..07740f88f3fe7f301ffd24ec85a330c8b0afdce7 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/UpdateUser.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateUser.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.UpdateUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.UpdateUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
 
 public class UpdateUser extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/UpdateUserRoles.java b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateUserRoles.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/UpdateUserRoles.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/UpdateUserRoles.java
index 359bbb3a3efa35e37d38b733c204ff8ca2840028..66b3cb8e6f03c3abde0ccaa051a1228057d973f7 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/UpdateUserRoles.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateUserRoles.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.UpdateUserRolesImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.HashSet;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.UpdateUserRolesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class UpdateUserRoles extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/exceptions/EntityDoesNotExistException.java b/src/main/java/org/caosdb/server/database/exceptions/EntityDoesNotExistException.java
similarity index 95%
rename from src/main/java/caosdb/server/database/exceptions/EntityDoesNotExistException.java
rename to src/main/java/org/caosdb/server/database/exceptions/EntityDoesNotExistException.java
index 29bd175f826fbad3a386b63201561cd50d60921b..ab6e68602f31e1fef37dad7fbcb5059544ec1eb4 100644
--- a/src/main/java/caosdb/server/database/exceptions/EntityDoesNotExistException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/EntityDoesNotExistException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.exceptions;
+package org.caosdb.server.database.exceptions;
 
 public class EntityDoesNotExistException extends TransactionException {
 
diff --git a/src/main/java/caosdb/server/database/exceptions/EntityWasNotUniqueException.java b/src/main/java/org/caosdb/server/database/exceptions/EntityWasNotUniqueException.java
similarity index 95%
rename from src/main/java/caosdb/server/database/exceptions/EntityWasNotUniqueException.java
rename to src/main/java/org/caosdb/server/database/exceptions/EntityWasNotUniqueException.java
index 8a5ab28687b79bfc1a23c8d754b5ca6254155b62..d4aa56e15ebad93aef00ba9faca460d2703211eb 100644
--- a/src/main/java/caosdb/server/database/exceptions/EntityWasNotUniqueException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/EntityWasNotUniqueException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.exceptions;
+package org.caosdb.server.database.exceptions;
 
 public class EntityWasNotUniqueException extends TransactionException {
   private static final long serialVersionUID = -6520827199072001991L;
diff --git a/src/main/java/caosdb/server/database/exceptions/IntegrityException.java b/src/main/java/org/caosdb/server/database/exceptions/IntegrityException.java
similarity index 96%
rename from src/main/java/caosdb/server/database/exceptions/IntegrityException.java
rename to src/main/java/org/caosdb/server/database/exceptions/IntegrityException.java
index e3632fe390ac660d3a7c4354cace0fd2afb61dbd..9bf259a1d8a5d2cd9aaa5e6bc1c475b17049d388 100644
--- a/src/main/java/caosdb/server/database/exceptions/IntegrityException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/IntegrityException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.exceptions;
+package org.caosdb.server.database.exceptions;
 
 public class IntegrityException extends TransactionException {
 
diff --git a/src/main/java/caosdb/server/database/exceptions/RolledBackException.java b/src/main/java/org/caosdb/server/database/exceptions/RolledBackException.java
similarity index 95%
rename from src/main/java/caosdb/server/database/exceptions/RolledBackException.java
rename to src/main/java/org/caosdb/server/database/exceptions/RolledBackException.java
index 0b371d77bb5dc6cb5df057f6ff46f42c0bd879ef..f038da96264e177f89a84d0789f645283afdf46a 100644
--- a/src/main/java/caosdb/server/database/exceptions/RolledBackException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/RolledBackException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.exceptions;
+package org.caosdb.server.database.exceptions;
 
 public class RolledBackException extends TransactionException {
 
diff --git a/src/main/java/caosdb/server/database/exceptions/TransactionException.java b/src/main/java/org/caosdb/server/database/exceptions/TransactionException.java
similarity index 96%
rename from src/main/java/caosdb/server/database/exceptions/TransactionException.java
rename to src/main/java/org/caosdb/server/database/exceptions/TransactionException.java
index 13d306a80fda36ea9310039d2c4fb755c1b7819a..08b68b1a23545aab50ac06ad122e403c1e9e09ec 100644
--- a/src/main/java/caosdb/server/database/exceptions/TransactionException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/TransactionException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.exceptions;
+package org.caosdb.server.database.exceptions;
 
 public class TransactionException extends RuntimeException {
 
diff --git a/src/main/java/caosdb/server/database/misc/DBHelper.java b/src/main/java/org/caosdb/server/database/misc/DBHelper.java
similarity index 91%
rename from src/main/java/caosdb/server/database/misc/DBHelper.java
rename to src/main/java/org/caosdb/server/database/misc/DBHelper.java
index a9b3ea8930cbb874d09ec41e00dbbd2d5fc1d8a0..27bd1d089543d905416a471b6103f9b3be6e3c5b 100644
--- a/src/main/java/caosdb/server/database/misc/DBHelper.java
+++ b/src/main/java/org/caosdb/server/database/misc/DBHelper.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.misc;
+package org.caosdb.server.database.misc;
 
-import caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.transaction.TransactionInterface;
 
 public interface DBHelper {
 
diff --git a/src/main/java/caosdb/server/database/misc/RollBackHandler.java b/src/main/java/org/caosdb/server/database/misc/RollBackHandler.java
similarity index 88%
rename from src/main/java/caosdb/server/database/misc/RollBackHandler.java
rename to src/main/java/org/caosdb/server/database/misc/RollBackHandler.java
index 38bf00af75d290d9d276beb64a74f03950758734..1591d858aaf9a35ca4851e4627ef6f0b6fc5bb41 100644
--- a/src/main/java/caosdb/server/database/misc/RollBackHandler.java
+++ b/src/main/java/org/caosdb/server/database/misc/RollBackHandler.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.misc;
+package org.caosdb.server.database.misc;
 
-import caosdb.server.transaction.TransactionInterface;
-import caosdb.server.utils.UndoHandler;
+import org.caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.utils.UndoHandler;
 
 public class RollBackHandler extends UndoHandler implements DBHelper {
 
diff --git a/src/main/java/caosdb/server/database/misc/TransactionBenchmark.java b/src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java
similarity index 98%
rename from src/main/java/caosdb/server/database/misc/TransactionBenchmark.java
rename to src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java
index 2d263df490a5d54abd35bef1005b2980c66f1bae..aa26924e63aad19f5079aa4e9fa80656f685b5e4 100644
--- a/src/main/java/caosdb/server/database/misc/TransactionBenchmark.java
+++ b/src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java
@@ -20,13 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.database.misc;
+package org.caosdb.server.database.misc;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.utils.CronJob;
-import caosdb.server.utils.Info;
-import caosdb.server.utils.ServerStat;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -38,6 +33,11 @@ import java.util.Map;
 import java.util.Map.Entry;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.utils.CronJob;
+import org.caosdb.server.utils.Info;
+import org.caosdb.server.utils.ServerStat;
 import org.jdom2.Element;
 
 class Counter implements Serializable {
diff --git a/src/main/java/caosdb/server/database/proto/FlatProperty.java b/src/main/java/org/caosdb/server/database/proto/FlatProperty.java
similarity index 96%
rename from src/main/java/caosdb/server/database/proto/FlatProperty.java
rename to src/main/java/org/caosdb/server/database/proto/FlatProperty.java
index a413b461305093671c57acf72a104e631ae81643..9728b378c7d25269519aa645b4e4b2dad982611d 100644
--- a/src/main/java/caosdb/server/database/proto/FlatProperty.java
+++ b/src/main/java/org/caosdb/server/database/proto/FlatProperty.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 import java.io.Serializable;
 
diff --git a/src/main/java/caosdb/server/database/proto/LinCon.java b/src/main/java/org/caosdb/server/database/proto/LinCon.java
similarity index 97%
rename from src/main/java/caosdb/server/database/proto/LinCon.java
rename to src/main/java/org/caosdb/server/database/proto/LinCon.java
index ba75d3c5a584f9eec6e7525835155bf2ced72ed8..719e760215cd8ec5b45bc30c5b154dca64e3b740 100644
--- a/src/main/java/caosdb/server/database/proto/LinCon.java
+++ b/src/main/java/org/caosdb/server/database/proto/LinCon.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 public class LinCon {
   public final long signature_from;
diff --git a/src/main/java/caosdb/server/database/proto/ProtoGroup.java b/src/main/java/org/caosdb/server/database/proto/ProtoGroup.java
similarity index 96%
rename from src/main/java/caosdb/server/database/proto/ProtoGroup.java
rename to src/main/java/org/caosdb/server/database/proto/ProtoGroup.java
index 990be2ff4e884ef8981fb10388a094a1a7949b1c..c8e68118dc5ae0f10e0099bdbff202c862451b59 100644
--- a/src/main/java/caosdb/server/database/proto/ProtoGroup.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoGroup.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 import java.io.Serializable;
 import java.util.HashSet;
diff --git a/src/main/java/caosdb/server/database/proto/ProtoInfo.java b/src/main/java/org/caosdb/server/database/proto/ProtoInfo.java
similarity index 96%
rename from src/main/java/caosdb/server/database/proto/ProtoInfo.java
rename to src/main/java/org/caosdb/server/database/proto/ProtoInfo.java
index 36470495680beaa336c86e94598d096b196dc5e3..e8486e2f0ec7e1d92818bea2793f37dc34405da3 100644
--- a/src/main/java/caosdb/server/database/proto/ProtoInfo.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoInfo.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 public class ProtoInfo {
   public Integer recordsCount = null;
diff --git a/src/main/java/caosdb/server/database/proto/ProtoProperty.java b/src/main/java/org/caosdb/server/database/proto/ProtoProperty.java
similarity index 96%
rename from src/main/java/caosdb/server/database/proto/ProtoProperty.java
rename to src/main/java/org/caosdb/server/database/proto/ProtoProperty.java
index 6e13836322e52715d2afdb1d6ecbac946e290212..c19341c75d36b24831c49a11b874176d2fbd108e 100644
--- a/src/main/java/caosdb/server/database/proto/ProtoProperty.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoProperty.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 import java.io.Serializable;
 import java.util.List;
diff --git a/src/main/java/caosdb/server/database/proto/ProtoTransactionLogMessage.java b/src/main/java/org/caosdb/server/database/proto/ProtoTransactionLogMessage.java
similarity index 97%
rename from src/main/java/caosdb/server/database/proto/ProtoTransactionLogMessage.java
rename to src/main/java/org/caosdb/server/database/proto/ProtoTransactionLogMessage.java
index a34d962854852409fd9e14c2125de56ce61326f5..9ca424e2e0eed57dd004141472945956b9ae6c1d 100644
--- a/src/main/java/caosdb/server/database/proto/ProtoTransactionLogMessage.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoTransactionLogMessage.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 import java.io.Serializable;
 
diff --git a/src/main/java/caosdb/server/database/proto/ProtoUser.java b/src/main/java/org/caosdb/server/database/proto/ProtoUser.java
similarity index 93%
rename from src/main/java/caosdb/server/database/proto/ProtoUser.java
rename to src/main/java/org/caosdb/server/database/proto/ProtoUser.java
index 40f8f490dc9e4453525be9e75697df5acc514e97..6cee37e9d47d30a5b032603ef0344fed7b8fdd6f 100644
--- a/src/main/java/caosdb/server/database/proto/ProtoUser.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoUser.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
-import caosdb.server.accessControl.UserStatus;
 import java.io.Serializable;
 import java.util.Set;
+import org.caosdb.server.accessControl.UserStatus;
 
 public class ProtoUser implements Serializable {
 
diff --git a/src/main/java/caosdb/server/database/proto/Rule.java b/src/main/java/org/caosdb/server/database/proto/Rule.java
similarity index 93%
rename from src/main/java/caosdb/server/database/proto/Rule.java
rename to src/main/java/org/caosdb/server/database/proto/Rule.java
index 1bda3f437b54546ff3a5010b44f737a49dac900d..4b710d23d68d03e3b9d6a80e87b192483238fd2e 100644
--- a/src/main/java/caosdb/server/database/proto/Rule.java
+++ b/src/main/java/org/caosdb/server/database/proto/Rule.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
-import caosdb.server.jobs.core.Mode;
 import java.io.Serializable;
+import org.caosdb.server.jobs.core.Mode;
 
 public class Rule implements Serializable {
 
diff --git a/src/main/java/caosdb/server/database/proto/SparseEntity.java b/src/main/java/org/caosdb/server/database/proto/SparseEntity.java
similarity index 97%
rename from src/main/java/caosdb/server/database/proto/SparseEntity.java
rename to src/main/java/org/caosdb/server/database/proto/SparseEntity.java
index d70d4ae026eb72d8c782b763ae3fc21d03a73064..da409f0abad989743a9065ed67bd46d4dd40791a 100644
--- a/src/main/java/caosdb/server/database/proto/SparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/proto/SparseEntity.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 /**
  * Rather abstract representation of a sparse Entity used by the data base abstraction layer.
diff --git a/src/main/java/caosdb/server/database/proto/VersionHistoryItem.java b/src/main/java/org/caosdb/server/database/proto/VersionHistoryItem.java
similarity index 88%
rename from src/main/java/caosdb/server/database/proto/VersionHistoryItem.java
rename to src/main/java/org/caosdb/server/database/proto/VersionHistoryItem.java
index e671950f39f40c0b93069d031f636ad964560508..be999d998471d07de40e46e4032194cc252f7f99 100644
--- a/src/main/java/caosdb/server/database/proto/VersionHistoryItem.java
+++ b/src/main/java/org/caosdb/server/database/proto/VersionHistoryItem.java
@@ -1,4 +1,4 @@
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 import java.io.Serializable;
 import java.util.LinkedList;
diff --git a/src/main/java/caosdb/server/database/proto/VerySparseEntity.java b/src/main/java/org/caosdb/server/database/proto/VerySparseEntity.java
similarity index 97%
rename from src/main/java/caosdb/server/database/proto/VerySparseEntity.java
rename to src/main/java/org/caosdb/server/database/proto/VerySparseEntity.java
index ae341830f7b2ba20a04d902fd8c7068ce3527260..864cd129398fcbf205a25c50ca345c6f7a349d20 100644
--- a/src/main/java/caosdb/server/database/proto/VerySparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/proto/VerySparseEntity.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 import java.io.Serializable;
 
diff --git a/src/main/java/caosdb/server/datatype/AbstractCollectionDatatype.java b/src/main/java/org/caosdb/server/datatype/AbstractCollectionDatatype.java
similarity index 98%
rename from src/main/java/caosdb/server/datatype/AbstractCollectionDatatype.java
rename to src/main/java/org/caosdb/server/datatype/AbstractCollectionDatatype.java
index 5f07bbe9a2880f5b7fd62fdb66c708e0a2739ab3..cbd822ee10a24127483fae9adff440404a243771 100644
--- a/src/main/java/caosdb/server/datatype/AbstractCollectionDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/AbstractCollectionDatatype.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 import java.util.HashMap;
 import java.util.regex.Matcher;
diff --git a/src/main/java/caosdb/server/datatype/AbstractDatatype.java b/src/main/java/org/caosdb/server/datatype/AbstractDatatype.java
similarity index 95%
rename from src/main/java/caosdb/server/datatype/AbstractDatatype.java
rename to src/main/java/org/caosdb/server/datatype/AbstractDatatype.java
index 0cde534aa74a05e33591d5e8d719316e7f1704f6..53ffdb0b45d2ab70db1cb0af5b2c8674ec5deb0b 100644
--- a/src/main/java/caosdb/server/datatype/AbstractDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/AbstractDatatype.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.container.Container;
 import java.util.HashMap;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.container.Container;
 import org.reflections.Reflections;
 
 public abstract class AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/AbstractEnumValue.java b/src/main/java/org/caosdb/server/datatype/AbstractEnumValue.java
similarity index 94%
rename from src/main/java/caosdb/server/datatype/AbstractEnumValue.java
rename to src/main/java/org/caosdb/server/datatype/AbstractEnumValue.java
index 33303f22eccbca7fcffafdb9737d4e0880dd98ca..06216c822c705fa6fbaef949386966af15ff6b13 100644
--- a/src/main/java/caosdb/server/datatype/AbstractEnumValue.java
+++ b/src/main/java/org/caosdb/server/datatype/AbstractEnumValue.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
 import com.google.common.base.Objects;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 import org.jdom2.Element;
 
 public abstract class AbstractEnumValue implements SingleValue {
diff --git a/src/main/java/caosdb/server/datatype/BooleanDatatype.java b/src/main/java/org/caosdb/server/datatype/BooleanDatatype.java
similarity index 92%
rename from src/main/java/caosdb/server/datatype/BooleanDatatype.java
rename to src/main/java/org/caosdb/server/datatype/BooleanDatatype.java
index c5ddafb32fac059f49416b0926b9f532e38a3cd3..92c3440aeab6ef1cc86426c4e5d2356aef6720aa 100644
--- a/src/main/java/caosdb/server/datatype/BooleanDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/BooleanDatatype.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 
 @DatatypeDefinition(name = "Boolean")
 public class BooleanDatatype extends AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/BooleanValue.java b/src/main/java/org/caosdb/server/datatype/BooleanValue.java
similarity index 97%
rename from src/main/java/caosdb/server/datatype/BooleanValue.java
rename to src/main/java/org/caosdb/server/datatype/BooleanValue.java
index f06cd4e5516fceeee459909bfde9ce60747834ea..0abfa0c917f21d246854cabcfe437fe48cb3d59e 100644
--- a/src/main/java/caosdb/server/datatype/BooleanValue.java
+++ b/src/main/java/org/caosdb/server/datatype/BooleanValue.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 public class BooleanValue extends AbstractEnumValue {
 
diff --git a/src/main/java/caosdb/server/datatype/CaosEnum.java b/src/main/java/org/caosdb/server/datatype/CaosEnum.java
similarity index 98%
rename from src/main/java/caosdb/server/datatype/CaosEnum.java
rename to src/main/java/org/caosdb/server/datatype/CaosEnum.java
index 17615b2381c495a3b23b28ad9a2307f1e07bccb7..1040ab9a8114544dfd8a0d5a0a75660be4de5f07 100644
--- a/src/main/java/caosdb/server/datatype/CaosEnum.java
+++ b/src/main/java/org/caosdb/server/datatype/CaosEnum.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 import com.google.common.base.Objects;
 import java.util.TreeSet;
diff --git a/src/main/java/caosdb/server/datatype/CollectionDatatypeFactory.java b/src/main/java/org/caosdb/server/datatype/CollectionDatatypeFactory.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/CollectionDatatypeFactory.java
rename to src/main/java/org/caosdb/server/datatype/CollectionDatatypeFactory.java
index 2ecd11549672cf23108d650aaadd61331903c322..1f80d937a8730891ace6a561d32f0a5bd3ce9a56 100644
--- a/src/main/java/caosdb/server/datatype/CollectionDatatypeFactory.java
+++ b/src/main/java/org/caosdb/server/datatype/CollectionDatatypeFactory.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 public interface CollectionDatatypeFactory {
 
diff --git a/src/main/java/caosdb/server/datatype/CollectionValue.java b/src/main/java/org/caosdb/server/datatype/CollectionValue.java
similarity index 98%
rename from src/main/java/caosdb/server/datatype/CollectionValue.java
rename to src/main/java/org/caosdb/server/datatype/CollectionValue.java
index 3e70de7322af17cf27232446c1e4c984e73ae73a..55cbf0489c3f965e19784c80439d291930d89841 100644
--- a/src/main/java/caosdb/server/datatype/CollectionValue.java
+++ b/src/main/java/org/caosdb/server/datatype/CollectionValue.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/src/main/java/caosdb/server/datatype/DatatypeDefinition.java b/src/main/java/org/caosdb/server/datatype/DatatypeDefinition.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/DatatypeDefinition.java
rename to src/main/java/org/caosdb/server/datatype/DatatypeDefinition.java
index 3728a57b9c56f474548c882a7a558ad2cbcb6a73..b28ce312d6c5e4252efcdfdd0476d8307b09f021 100644
--- a/src/main/java/caosdb/server/datatype/DatatypeDefinition.java
+++ b/src/main/java/org/caosdb/server/datatype/DatatypeDefinition.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/src/main/java/caosdb/server/datatype/DateTimeDatatype.java b/src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java
similarity index 84%
rename from src/main/java/caosdb/server/datatype/DateTimeDatatype.java
rename to src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java
index 833a1502d8aecff798cb1c8aa9d0364e7d613ac4..574e40cb96097544a19cf46c4ad700e9ce442208 100644
--- a/src/main/java/caosdb/server/datatype/DateTimeDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.datetime.Date;
-import caosdb.datetime.DateTimeFactory2;
-import caosdb.datetime.DateTimeInterface;
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.datetime.Date;
+import org.caosdb.datetime.DateTimeFactory2;
+import org.caosdb.datetime.DateTimeInterface;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 
 @DatatypeDefinition(name = "DateTime")
 public class DateTimeDatatype extends AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/DoubleDatatype.java b/src/main/java/org/caosdb/server/datatype/DoubleDatatype.java
similarity index 92%
rename from src/main/java/caosdb/server/datatype/DoubleDatatype.java
rename to src/main/java/org/caosdb/server/datatype/DoubleDatatype.java
index c7daacdc00bf4895433a3d4c0fc67c025dc6220f..f2f8d2823e4483c59945c168f5e83d029bc6da6a 100644
--- a/src/main/java/caosdb/server/datatype/DoubleDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/DoubleDatatype.java
@@ -21,10 +21,10 @@
  * ** end header
  */
 // Copyright (c) 2019 Daniel Hornung
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 
 @DatatypeDefinition(name = "Double")
 public class DoubleDatatype extends AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/FileDatatype.java b/src/main/java/org/caosdb/server/datatype/FileDatatype.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/FileDatatype.java
rename to src/main/java/org/caosdb/server/datatype/FileDatatype.java
index 62c838ca71ada9277944b09862342c46b94bead2..febc317dbd430181784b2312ff6d6162193f4100 100644
--- a/src/main/java/caosdb/server/datatype/FileDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/FileDatatype.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 @DatatypeDefinition(name = "File")
 public class FileDatatype extends ReferenceDatatype {}
diff --git a/src/main/java/caosdb/server/datatype/GenericValue.java b/src/main/java/org/caosdb/server/datatype/GenericValue.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/GenericValue.java
rename to src/main/java/org/caosdb/server/datatype/GenericValue.java
index cffd62bbcbbb2dfffab2a7c55b2b7861b2bd9aae..e21841ee782a2ff86d2d993bbb0b9901a7835667 100644
--- a/src/main/java/caosdb/server/datatype/GenericValue.java
+++ b/src/main/java/org/caosdb/server/datatype/GenericValue.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
 import com.google.common.base.Objects;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 import org.jdom2.Element;
 
 public class GenericValue implements SingleValue {
diff --git a/src/main/java/caosdb/server/datatype/IndexedSingleValue.java b/src/main/java/org/caosdb/server/datatype/IndexedSingleValue.java
similarity index 95%
rename from src/main/java/caosdb/server/datatype/IndexedSingleValue.java
rename to src/main/java/org/caosdb/server/datatype/IndexedSingleValue.java
index f33db43ef0ca8aa50bc9fcca54a232965e98f29a..a9ed584b3ee858e6de2bbb84ad4a43da820cedb0 100644
--- a/src/main/java/caosdb/server/datatype/IndexedSingleValue.java
+++ b/src/main/java/org/caosdb/server/datatype/IndexedSingleValue.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 import org.jdom2.Element;
 
 public class IndexedSingleValue implements SingleValue, Comparable<IndexedSingleValue> {
diff --git a/src/main/java/caosdb/server/datatype/IntegerDatatype.java b/src/main/java/org/caosdb/server/datatype/IntegerDatatype.java
similarity index 91%
rename from src/main/java/caosdb/server/datatype/IntegerDatatype.java
rename to src/main/java/org/caosdb/server/datatype/IntegerDatatype.java
index 4ab8d94dc97d0060335b99f2c91dd05f05e1dc55..b5ac2d971c7edd1eaf3947eacf1d1f94f967d808 100644
--- a/src/main/java/caosdb/server/datatype/IntegerDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/IntegerDatatype.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 
 @DatatypeDefinition(name = "Integer")
 public class IntegerDatatype extends AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/ListDatatype.java b/src/main/java/org/caosdb/server/datatype/ListDatatype.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/ListDatatype.java
rename to src/main/java/org/caosdb/server/datatype/ListDatatype.java
index 877901458dcf94fee17a9f5ac8c69f1026609322..bdf148e66638757ba5ccc315a7eac557774d8f63 100644
--- a/src/main/java/caosdb/server/datatype/ListDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/ListDatatype.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message;
 
 public class ListDatatype extends AbstractCollectionDatatype {
 
diff --git a/src/main/java/caosdb/server/datatype/ListDatatypeFactory.java b/src/main/java/org/caosdb/server/datatype/ListDatatypeFactory.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/ListDatatypeFactory.java
rename to src/main/java/org/caosdb/server/datatype/ListDatatypeFactory.java
index 9faf9cafba914a67bd474af9f5f7cf66a2456767..d1999f13c794a496657139dfeef78b0584784082 100644
--- a/src/main/java/caosdb/server/datatype/ListDatatypeFactory.java
+++ b/src/main/java/org/caosdb/server/datatype/ListDatatypeFactory.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 public class ListDatatypeFactory implements CollectionDatatypeFactory {
 
diff --git a/src/main/java/caosdb/server/datatype/ReferenceDatatype.java b/src/main/java/org/caosdb/server/datatype/ReferenceDatatype.java
similarity index 94%
rename from src/main/java/caosdb/server/datatype/ReferenceDatatype.java
rename to src/main/java/org/caosdb/server/datatype/ReferenceDatatype.java
index 1675f028987516ae8e6cadc8aaaa2e6807f35221..42f60cebc116d23137d359c11015a2978233234e 100644
--- a/src/main/java/caosdb/server/datatype/ReferenceDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/ReferenceDatatype.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message;
 
 @DatatypeDefinition(name = "Reference")
 public class ReferenceDatatype extends AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/ReferenceDatatype2.java b/src/main/java/org/caosdb/server/datatype/ReferenceDatatype2.java
similarity index 93%
rename from src/main/java/caosdb/server/datatype/ReferenceDatatype2.java
rename to src/main/java/org/caosdb/server/datatype/ReferenceDatatype2.java
index 87c17079b0facdc193ea79dd6005598f7fe151b6..6d96d6deaae43d4d854875424129b7558d0fddf0 100644
--- a/src/main/java/caosdb/server/datatype/ReferenceDatatype2.java
+++ b/src/main/java/org/caosdb/server/datatype/ReferenceDatatype2.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
 
 public class ReferenceDatatype2 extends ReferenceDatatype {
 
diff --git a/src/main/java/caosdb/server/datatype/ReferenceValue.java b/src/main/java/org/caosdb/server/datatype/ReferenceValue.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/ReferenceValue.java
rename to src/main/java/org/caosdb/server/datatype/ReferenceValue.java
index 77f7aa8c56d97b8dc5abf914c0b6c88749683d69..89601b50a46cbf838a995a222b0d4c43150f8a19 100644
--- a/src/main/java/caosdb/server/datatype/ReferenceValue.java
+++ b/src/main/java/org/caosdb/server/datatype/ReferenceValue.java
@@ -22,13 +22,13 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
 import java.util.Objects;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 /**
diff --git a/src/main/java/caosdb/server/datatype/SQLiteDatatype.java b/src/main/java/org/caosdb/server/datatype/SQLiteDatatype.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/SQLiteDatatype.java
rename to src/main/java/org/caosdb/server/datatype/SQLiteDatatype.java
index 9a7c2f1cbbf7ca508690be9ac414bad56c01770b..ffd4341013176992e802e8e0c8c4bc2d58b78ad3 100644
--- a/src/main/java/caosdb/server/datatype/SQLiteDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/SQLiteDatatype.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 @DatatypeDefinition(name = "SQLite")
 public class SQLiteDatatype extends ReferenceDatatype {}
diff --git a/src/main/java/caosdb/server/datatype/SingleValue.java b/src/main/java/org/caosdb/server/datatype/SingleValue.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/SingleValue.java
rename to src/main/java/org/caosdb/server/datatype/SingleValue.java
index 2ae17a6122035387f31466a74c0468d9fde80e36..cfe2b6404119265c9cccc74349553557467cff56 100644
--- a/src/main/java/caosdb/server/datatype/SingleValue.java
+++ b/src/main/java/org/caosdb/server/datatype/SingleValue.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 public interface SingleValue extends Value {
 
diff --git a/src/main/java/caosdb/server/datatype/TextDatatype.java b/src/main/java/org/caosdb/server/datatype/TextDatatype.java
similarity index 93%
rename from src/main/java/caosdb/server/datatype/TextDatatype.java
rename to src/main/java/org/caosdb/server/datatype/TextDatatype.java
index f173243f1414bbcf02a0880b3b442eb70823a334..af06ed6de1f0f49b481b2a706f529037e555785e 100644
--- a/src/main/java/caosdb/server/datatype/TextDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/TextDatatype.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message;
 
 @DatatypeDefinition(name = "Text")
 public class TextDatatype extends AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/Value.java b/src/main/java/org/caosdb/server/datatype/Value.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/Value.java
rename to src/main/java/org/caosdb/server/datatype/Value.java
index 6030880dcf6cbcb50a43633c1317c6cae70fef05..540e6bc52b72744c4d7c1c651c40924d1da57c6d 100644
--- a/src/main/java/caosdb/server/datatype/Value.java
+++ b/src/main/java/org/caosdb/server/datatype/Value.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/Affiliation.java b/src/main/java/org/caosdb/server/entity/Affiliation.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/Affiliation.java
rename to src/main/java/org/caosdb/server/entity/Affiliation.java
index c51a9a279cfe2722d85124b3bde57fe08fd0baf3..f3e5ec73561760b889657ba20134d16aabf3e35a 100644
--- a/src/main/java/caosdb/server/entity/Affiliation.java
+++ b/src/main/java/org/caosdb/server/entity/Affiliation.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 public enum Affiliation {
   INSTANTIATION, // RECORD is-a RECORD TYPE
diff --git a/src/main/java/caosdb/server/entity/DeleteEntity.java b/src/main/java/org/caosdb/server/entity/DeleteEntity.java
similarity index 97%
rename from src/main/java/caosdb/server/entity/DeleteEntity.java
rename to src/main/java/org/caosdb/server/entity/DeleteEntity.java
index b27ab3a7745a9b4909dac642a9fccbaf035f52f7..37377534f721a3d93455473b7a8a58fb7d50f287 100644
--- a/src/main/java/caosdb/server/entity/DeleteEntity.java
+++ b/src/main/java/org/caosdb/server/entity/DeleteEntity.java
@@ -22,7 +22,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 public class DeleteEntity extends Entity {
 
diff --git a/src/main/java/caosdb/server/entity/Entity.java b/src/main/java/org/caosdb/server/entity/Entity.java
similarity index 95%
rename from src/main/java/caosdb/server/entity/Entity.java
rename to src/main/java/org/caosdb/server/entity/Entity.java
index 16f4f508e2d97a4c0f58c1775e95db9efbf4ffba..28f42308e303c0315b432c017fd2147119c5b346 100644
--- a/src/main/java/caosdb/server/entity/Entity.java
+++ b/src/main/java/org/caosdb/server/entity/Entity.java
@@ -22,34 +22,8 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
-
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.CaosDBException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.database.proto.VerySparseEntity;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.datatype.CollectionValue;
-import caosdb.server.datatype.GenericValue;
-import caosdb.server.datatype.Value;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.container.ParentContainer;
-import caosdb.server.entity.container.PropertyContainer;
-import caosdb.server.entity.wrapper.Domain;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.entity.xml.EntityToElementStrategy;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.entity.xml.ToElementStrategy;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.permissions.EntityACL;
-import caosdb.server.query.Query.Selection;
-import caosdb.server.utils.AbstractObservable;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.TransactionLogMessage;
-import caosdb.unit.Unit;
+package org.caosdb.server.entity;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -60,6 +34,32 @@ import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authz.AuthorizationException;
 import org.apache.shiro.authz.Permission;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.database.proto.VerySparseEntity;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.datatype.CollectionValue;
+import org.caosdb.server.datatype.GenericValue;
+import org.caosdb.server.datatype.Value;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.container.ParentContainer;
+import org.caosdb.server.entity.container.PropertyContainer;
+import org.caosdb.server.entity.wrapper.Domain;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.entity.xml.EntityToElementStrategy;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.entity.xml.ToElementStrategy;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.permissions.EntityACL;
+import org.caosdb.server.query.Query.Selection;
+import org.caosdb.server.utils.AbstractObservable;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.TransactionLogMessage;
+import org.caosdb.unit.Unit;
 import org.jdom2.Element;
 
 public class Entity extends AbstractObservable implements EntityInterface {
diff --git a/src/main/java/caosdb/server/entity/EntityInterface.java b/src/main/java/org/caosdb/server/entity/EntityInterface.java
similarity index 86%
rename from src/main/java/caosdb/server/entity/EntityInterface.java
rename to src/main/java/org/caosdb/server/entity/EntityInterface.java
index 4205111a58c30185d916c1d921acb7470d93f7a9..ef97630808536f367869851c5be06d05e6247ac2 100644
--- a/src/main/java/caosdb/server/entity/EntityInterface.java
+++ b/src/main/java/org/caosdb/server/entity/EntityInterface.java
@@ -20,27 +20,27 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
-
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.database.proto.VerySparseEntity;
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.datatype.Value;
-import caosdb.server.entity.container.ParentContainer;
-import caosdb.server.entity.container.PropertyContainer;
-import caosdb.server.entity.wrapper.Domain;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.jobs.JobTarget;
-import caosdb.server.permissions.EntityACL;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.TransactionLogMessage;
-import caosdb.unit.Unit;
+package org.caosdb.server.entity;
+
 import java.util.List;
 import org.apache.shiro.authz.Permission;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.database.proto.VerySparseEntity;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.datatype.Value;
+import org.caosdb.server.entity.container.ParentContainer;
+import org.caosdb.server.entity.container.PropertyContainer;
+import org.caosdb.server.entity.wrapper.Domain;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.jobs.JobTarget;
+import org.caosdb.server.permissions.EntityACL;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.TransactionLogMessage;
+import org.caosdb.unit.Unit;
 import org.jdom2.Element;
 
 public interface EntityInterface
diff --git a/src/main/java/caosdb/server/entity/FileProperties.java b/src/main/java/org/caosdb/server/entity/FileProperties.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/FileProperties.java
rename to src/main/java/org/caosdb/server/entity/FileProperties.java
index fbf8031f56566ea5a6df263d97611812bab113d0..b95cfec33ed29d643852fb3a76bb92c1e61d873f 100644
--- a/src/main/java/caosdb/server/entity/FileProperties.java
+++ b/src/main/java/org/caosdb/server/entity/FileProperties.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.FileSystem;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.UndoHandler;
-import caosdb.server.utils.Undoable;
+package org.caosdb.server.entity;
+
 import java.io.File;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.UndoHandler;
+import org.caosdb.server.utils.Undoable;
 
 public class FileProperties {
   private File thumbnail = null;
diff --git a/src/main/java/caosdb/server/entity/InsertEntity.java b/src/main/java/org/caosdb/server/entity/InsertEntity.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/InsertEntity.java
rename to src/main/java/org/caosdb/server/entity/InsertEntity.java
index 92f665e36cb0e0bce0243658e3148dd3b69b9ad4..56eeb12b1c2e7b9d5259a4d418e87c79e8068f51 100644
--- a/src/main/java/caosdb/server/entity/InsertEntity.java
+++ b/src/main/java/org/caosdb/server/entity/InsertEntity.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/MagicTypes.java b/src/main/java/org/caosdb/server/entity/MagicTypes.java
similarity index 94%
rename from src/main/java/caosdb/server/entity/MagicTypes.java
rename to src/main/java/org/caosdb/server/entity/MagicTypes.java
index ddc57a58362f81c9f3c55a45dc2a069d4202c8af..cffdb0723588d3aaec31e24a39895e304aa2e18b 100644
--- a/src/main/java/caosdb/server/entity/MagicTypes.java
+++ b/src/main/java/org/caosdb/server/entity/MagicTypes.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.transaction.Retrieve;
 import java.util.HashMap;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.transaction.Retrieve;
 
 public enum MagicTypes {
   UNIT,
diff --git a/src/main/java/caosdb/server/entity/Message.java b/src/main/java/org/caosdb/server/entity/Message.java
similarity index 98%
rename from src/main/java/caosdb/server/entity/Message.java
rename to src/main/java/org/caosdb/server/entity/Message.java
index 0ffedb4316fe372e09f3b69ca5824a72f98accaf..e79c5b6ec7eb314d2dc75ddf6efd795e746bacc9 100644
--- a/src/main/java/caosdb/server/entity/Message.java
+++ b/src/main/java/org/caosdb/server/entity/Message.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
-import caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.entity.xml.ToElementable;
 import org.jdom2.Element;
 
 public class Message extends Exception implements Comparable<Message>, ToElementable {
diff --git a/src/main/java/caosdb/server/entity/NoSuchRoleException.java b/src/main/java/org/caosdb/server/entity/NoSuchRoleException.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/NoSuchRoleException.java
rename to src/main/java/org/caosdb/server/entity/NoSuchRoleException.java
index 783c2752143e7d1099808cf6ef9f19825d1a2836..ae1d2e0da1fc024acbec82c5f89b18e213557fc2 100644
--- a/src/main/java/caosdb/server/entity/NoSuchRoleException.java
+++ b/src/main/java/org/caosdb/server/entity/NoSuchRoleException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 public class NoSuchRoleException extends IllegalArgumentException {
 
diff --git a/src/main/java/caosdb/server/entity/RetrieveEntity.java b/src/main/java/org/caosdb/server/entity/RetrieveEntity.java
similarity index 97%
rename from src/main/java/caosdb/server/entity/RetrieveEntity.java
rename to src/main/java/org/caosdb/server/entity/RetrieveEntity.java
index 7035232b5a66df77518c8c1b586b7bcb43b7a22b..35e34feda25c3ed7087c3c909a49a5833bce3698 100644
--- a/src/main/java/caosdb/server/entity/RetrieveEntity.java
+++ b/src/main/java/org/caosdb/server/entity/RetrieveEntity.java
@@ -22,7 +22,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 public class RetrieveEntity extends Entity {
 
diff --git a/src/main/java/caosdb/server/entity/Role.java b/src/main/java/org/caosdb/server/entity/Role.java
similarity index 86%
rename from src/main/java/caosdb/server/entity/Role.java
rename to src/main/java/org/caosdb/server/entity/Role.java
index 79b6548f82f41568ec44c574c4ad35502379e58b..0ce45641b5280bca29a0d61b66a9435b9e3297e6 100644
--- a/src/main/java/caosdb/server/entity/Role.java
+++ b/src/main/java/org/caosdb/server/entity/Role.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.GetIDByName;
-import caosdb.server.entity.xml.EntityToElementStrategy;
-import caosdb.server.entity.xml.FileToElementStrategy;
-import caosdb.server.entity.xml.ToElementStrategy;
 import java.util.HashMap;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.GetIDByName;
+import org.caosdb.server.entity.xml.EntityToElementStrategy;
+import org.caosdb.server.entity.xml.FileToElementStrategy;
+import org.caosdb.server.entity.xml.ToElementStrategy;
 
 public enum Role {
   RecordType,
diff --git a/src/main/java/caosdb/server/entity/StatementStatus.java b/src/main/java/org/caosdb/server/entity/StatementStatus.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/StatementStatus.java
rename to src/main/java/org/caosdb/server/entity/StatementStatus.java
index 122b31fccdf2682a3a1851a650ef116a7184ed49..ec6b0b8ec8cc33fc0fa2c41119e82b2b807aa89f 100644
--- a/src/main/java/caosdb/server/entity/StatementStatus.java
+++ b/src/main/java/org/caosdb/server/entity/StatementStatus.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 public enum StatementStatus {
   OBLIGATORY,
diff --git a/src/main/java/caosdb/server/entity/TransactionEntity.java b/src/main/java/org/caosdb/server/entity/TransactionEntity.java
similarity index 90%
rename from src/main/java/caosdb/server/entity/TransactionEntity.java
rename to src/main/java/org/caosdb/server/entity/TransactionEntity.java
index 458a1031cf7039c66b3db228813c9a552d6cc53c..2883c076f437520581037219a724020b47893424 100644
--- a/src/main/java/caosdb/server/entity/TransactionEntity.java
+++ b/src/main/java/org/caosdb/server/entity/TransactionEntity.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
-import caosdb.server.entity.xml.ToElementStrategy;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.query.Query.Selection;
-import caosdb.server.utils.EntityStatus;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import org.caosdb.server.entity.xml.ToElementStrategy;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.query.Query.Selection;
+import org.caosdb.server.utils.EntityStatus;
 import org.jdom2.Element;
 
 public interface TransactionEntity {
diff --git a/src/main/java/caosdb/server/entity/UpdateEntity.java b/src/main/java/org/caosdb/server/entity/UpdateEntity.java
similarity index 93%
rename from src/main/java/caosdb/server/entity/UpdateEntity.java
rename to src/main/java/org/caosdb/server/entity/UpdateEntity.java
index 004eefaf5be7564329d9caba19536dbc54ab1f38..aa6d591602df66cc9317351cf6a1ea980bc53ea3 100644
--- a/src/main/java/caosdb/server/entity/UpdateEntity.java
+++ b/src/main/java/org/caosdb/server/entity/UpdateEntity.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.EntityStatus;
 import org.jdom2.Element;
 
 public class UpdateEntity extends WritableEntity {
diff --git a/src/main/java/caosdb/server/entity/ValidEntity.java b/src/main/java/org/caosdb/server/entity/ValidEntity.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/ValidEntity.java
rename to src/main/java/org/caosdb/server/entity/ValidEntity.java
index d2c8b519734f3732f6fc7c43047a99e59ccd71c4..6378e044e65afe4b7340cefd04e0b09153e5ca94 100644
--- a/src/main/java/caosdb/server/entity/ValidEntity.java
+++ b/src/main/java/org/caosdb/server/entity/ValidEntity.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 public class ValidEntity extends Entity {
 
diff --git a/src/main/java/caosdb/server/entity/Version.java b/src/main/java/org/caosdb/server/entity/Version.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/Version.java
rename to src/main/java/org/caosdb/server/entity/Version.java
index 07c7387e8c419f962e1174504a28ceceda5c30e3..3f9e148583686887fab39038aa427bccf1c69b25 100644
--- a/src/main/java/caosdb/server/entity/Version.java
+++ b/src/main/java/org/caosdb/server/entity/Version.java
@@ -18,10 +18,10 @@
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
  */
 
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
-import caosdb.datetime.UTCDateTime;
 import java.util.LinkedList;
+import org.caosdb.datetime.UTCDateTime;
 
 /**
  * Plain old java object (POJO) for an entity's version.
diff --git a/src/main/java/caosdb/server/entity/WritableEntity.java b/src/main/java/org/caosdb/server/entity/WritableEntity.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/WritableEntity.java
rename to src/main/java/org/caosdb/server/entity/WritableEntity.java
index 6e1c21e27ffbb4ae76a31a6c0cd444c439325cb0..d9dc3edc4fc1fa886370bafb5c40ce0e732b3e4b 100644
--- a/src/main/java/caosdb/server/entity/WritableEntity.java
+++ b/src/main/java/org/caosdb/server/entity/WritableEntity.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/WriteEntity.java b/src/main/java/org/caosdb/server/entity/WriteEntity.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/WriteEntity.java
rename to src/main/java/org/caosdb/server/entity/WriteEntity.java
index b8c65596a86fdc3553d43f9ea04793c615df3fba..64cbbee8658148e81e09a623c3e235ea18555e5e 100644
--- a/src/main/java/caosdb/server/entity/WriteEntity.java
+++ b/src/main/java/org/caosdb/server/entity/WriteEntity.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/container/Container.java b/src/main/java/org/caosdb/server/entity/container/Container.java
similarity index 94%
rename from src/main/java/caosdb/server/entity/container/Container.java
rename to src/main/java/org/caosdb/server/entity/container/Container.java
index de20b6a3965fc4fead82612193d061e075d5217d..1f6f14dd172142b5098cb42c949cc780acd1cf67 100644
--- a/src/main/java/caosdb/server/entity/container/Container.java
+++ b/src/main/java/org/caosdb/server/entity/container/Container.java
@@ -22,10 +22,10 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.EntityInterface;
 import java.util.ArrayList;
+import org.caosdb.server.entity.EntityInterface;
 
 public class Container<T extends EntityInterface> extends ArrayList<T> {
 
diff --git a/src/main/java/caosdb/server/entity/container/DeleteContainer.java b/src/main/java/org/caosdb/server/entity/container/DeleteContainer.java
similarity index 94%
rename from src/main/java/caosdb/server/entity/container/DeleteContainer.java
rename to src/main/java/org/caosdb/server/entity/container/DeleteContainer.java
index c3d57bc656a7c9609dd8fb6ca4d031e0e82f63fa..0c82642e9f69661c09b6a226880d0921da275a8a 100644
--- a/src/main/java/caosdb/server/entity/container/DeleteContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/DeleteContainer.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.DeleteEntity;
 import java.util.HashMap;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.entity.DeleteEntity;
 
 public class DeleteContainer extends EntityByIdContainer {
 
diff --git a/src/main/java/caosdb/server/entity/container/EntityByIdContainer.java b/src/main/java/org/caosdb/server/entity/container/EntityByIdContainer.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/container/EntityByIdContainer.java
rename to src/main/java/org/caosdb/server/entity/container/EntityByIdContainer.java
index 29a0978b8acdc809b75c52de643ee131cd62b129..31cc6d41e754db1637ce0752bd219e576d3e6d05 100644
--- a/src/main/java/caosdb/server/entity/container/EntityByIdContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/EntityByIdContainer.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
 import java.util.HashMap;
 import org.apache.shiro.subject.Subject;
diff --git a/src/main/java/caosdb/server/entity/container/InsertContainer.java b/src/main/java/org/caosdb/server/entity/container/InsertContainer.java
similarity index 93%
rename from src/main/java/caosdb/server/entity/container/InsertContainer.java
rename to src/main/java/org/caosdb/server/entity/container/InsertContainer.java
index 6810e053cc9234bb587ea35f2399e7ceaa04e408..b1b54710581b58c4b2153c5df956f14d4bdd3194 100644
--- a/src/main/java/caosdb/server/entity/container/InsertContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/InsertContainer.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.InsertEntity;
 import java.util.HashMap;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.entity.InsertEntity;
 import org.jdom2.Element;
 
 public class InsertContainer extends WritableContainer {
diff --git a/src/main/java/caosdb/server/entity/container/ParentContainer.java b/src/main/java/org/caosdb/server/entity/container/ParentContainer.java
similarity index 85%
rename from src/main/java/caosdb/server/entity/container/ParentContainer.java
rename to src/main/java/org/caosdb/server/entity/container/ParentContainer.java
index 461760b8a2d37f293a6bb0756cc79ff757f0dbcf..7e43d7e547187aae0480e6d3eb1851fab4793dc6 100644
--- a/src/main/java/caosdb/server/entity/container/ParentContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/ParentContainer.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.xml.ParentToElementStrategy;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.entity.xml.ToElementStrategy;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.xml.ParentToElementStrategy;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.entity.xml.ToElementStrategy;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class ParentContainer extends Container<Parent> {
diff --git a/src/main/java/caosdb/server/entity/container/PropertyContainer.java b/src/main/java/org/caosdb/server/entity/container/PropertyContainer.java
similarity index 88%
rename from src/main/java/caosdb/server/entity/container/PropertyContainer.java
rename to src/main/java/org/caosdb/server/entity/container/PropertyContainer.java
index 80cf816156c0d4d81bca1e5b0e0de19c38fcb032..074d231fb41471ee4d94f8cfb98ec598c6a4f643 100644
--- a/src/main/java/caosdb/server/entity/container/PropertyContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/PropertyContainer.java
@@ -22,21 +22,21 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.entity.xml.PropertyToElementStrategy;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.entity.xml.ToElementStrategy;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
-import caosdb.server.utils.ServerMessages;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.entity.xml.PropertyToElementStrategy;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.entity.xml.ToElementStrategy;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class PropertyContainer extends Container<Property> {
diff --git a/src/main/java/caosdb/server/entity/container/RetrieveContainer.java b/src/main/java/org/caosdb/server/entity/container/RetrieveContainer.java
similarity index 94%
rename from src/main/java/caosdb/server/entity/container/RetrieveContainer.java
rename to src/main/java/org/caosdb/server/entity/container/RetrieveContainer.java
index 5b205bc27f38e3d1a04b2ed3c5a7e874af229489..681aac89551ea5c8f450db00d29404283f99b4d9 100644
--- a/src/main/java/caosdb/server/entity/container/RetrieveContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/RetrieveContainer.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.RetrieveEntity;
 import java.util.HashMap;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.entity.RetrieveEntity;
 
 public class RetrieveContainer extends EntityByIdContainer {
 
diff --git a/src/main/java/caosdb/server/entity/container/TransactionContainer.java b/src/main/java/org/caosdb/server/entity/container/TransactionContainer.java
similarity index 92%
rename from src/main/java/caosdb/server/entity/container/TransactionContainer.java
rename to src/main/java/org/caosdb/server/entity/container/TransactionContainer.java
index f3a8a0f395838e6c8f5b2a4d8adf6f5b8627d06c..5d7e79b202b0c4bf4fbc9550a1053a019fd58b01 100644
--- a/src/main/java/caosdb/server/entity/container/TransactionContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/TransactionContainer.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
-
-import caosdb.server.CaosDBServer;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.jobs.JobTarget;
-import caosdb.server.utils.EntityStatus;
+package org.caosdb.server.entity.container;
+
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.jobs.JobTarget;
+import org.caosdb.server.utils.EntityStatus;
 import org.jdom2.Element;
 
 public class TransactionContainer extends Container<EntityInterface>
diff --git a/src/main/java/caosdb/server/entity/container/UpdateContainer.java b/src/main/java/org/caosdb/server/entity/container/UpdateContainer.java
similarity index 93%
rename from src/main/java/caosdb/server/entity/container/UpdateContainer.java
rename to src/main/java/org/caosdb/server/entity/container/UpdateContainer.java
index 843e70cf8131428cfb4086c6ee0b6f30c32797cf..578e422be12b85137bcf7707662217407abc7e00 100644
--- a/src/main/java/caosdb/server/entity/container/UpdateContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/UpdateContainer.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.UpdateEntity;
 import java.util.HashMap;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.entity.UpdateEntity;
 import org.jdom2.Element;
 
 public class UpdateContainer extends WritableContainer {
diff --git a/src/main/java/caosdb/server/entity/container/WritableContainer.java b/src/main/java/org/caosdb/server/entity/container/WritableContainer.java
similarity index 94%
rename from src/main/java/caosdb/server/entity/container/WritableContainer.java
rename to src/main/java/org/caosdb/server/entity/container/WritableContainer.java
index 3000aa5a943ec767b5de889899e62ccae311fa8d..1cebca67f33f281f10d8da52c90bf06b47785e5f 100644
--- a/src/main/java/caosdb/server/entity/container/WritableContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/WritableContainer.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.FileProperties;
 import java.util.HashMap;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.entity.FileProperties;
 import org.jdom2.Element;
 
 public abstract class WritableContainer extends TransactionContainer {
diff --git a/src/main/java/caosdb/server/entity/wrapper/Domain.java b/src/main/java/org/caosdb/server/entity/wrapper/Domain.java
similarity index 78%
rename from src/main/java/caosdb/server/entity/wrapper/Domain.java
rename to src/main/java/org/caosdb/server/entity/wrapper/Domain.java
index 5bd5c73b99579337e1f5ccd0a4e97c0011347b04..146706efd2caa74ff1399568bf499f37683bfdbe 100644
--- a/src/main/java/caosdb/server/entity/wrapper/Domain.java
+++ b/src/main/java/org/caosdb/server/entity/wrapper/Domain.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.entity.wrapper;
+package org.caosdb.server.entity.wrapper;
 
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.datatype.Value;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.container.PropertyContainer;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.datatype.Value;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.container.PropertyContainer;
 
 public class Domain extends Entity {
 
@@ -37,7 +37,7 @@ public class Domain extends Entity {
       final PropertyContainer properties,
       final AbstractDatatype datatype,
       final Value value,
-      final caosdb.server.entity.StatementStatus statementStatus) {
+      final org.caosdb.server.entity.StatementStatus statementStatus) {
 
     setRole(Role.Domain);
     setProperties(properties);
diff --git a/src/main/java/caosdb/server/entity/wrapper/EntityWrapper.java b/src/main/java/org/caosdb/server/entity/wrapper/EntityWrapper.java
similarity index 91%
rename from src/main/java/caosdb/server/entity/wrapper/EntityWrapper.java
rename to src/main/java/org/caosdb/server/entity/wrapper/EntityWrapper.java
index f8d563de1776d155b2f66b913de454c7e5b952fd..e042c2326cc43e5d98cc3a27b61c21301bf9e90d 100644
--- a/src/main/java/caosdb/server/entity/wrapper/EntityWrapper.java
+++ b/src/main/java/org/caosdb/server/entity/wrapper/EntityWrapper.java
@@ -22,34 +22,34 @@
  *
  * ** end header
  */
-package caosdb.server.entity.wrapper;
-
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.database.proto.VerySparseEntity;
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.datatype.Value;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.entity.Version;
-import caosdb.server.entity.container.ParentContainer;
-import caosdb.server.entity.container.PropertyContainer;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.entity.xml.ToElementStrategy;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.permissions.EntityACL;
-import caosdb.server.query.Query.Selection;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observer;
-import caosdb.server.utils.TransactionLogMessage;
-import caosdb.unit.Unit;
+package org.caosdb.server.entity.wrapper;
+
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import org.apache.shiro.authz.Permission;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.database.proto.VerySparseEntity;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.datatype.Value;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.entity.Version;
+import org.caosdb.server.entity.container.ParentContainer;
+import org.caosdb.server.entity.container.PropertyContainer;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.entity.xml.ToElementStrategy;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.permissions.EntityACL;
+import org.caosdb.server.query.Query.Selection;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observer;
+import org.caosdb.server.utils.TransactionLogMessage;
+import org.caosdb.unit.Unit;
 import org.jdom2.Element;
 
 public class EntityWrapper implements EntityInterface {
diff --git a/src/main/java/caosdb/server/entity/wrapper/Parent.java b/src/main/java/org/caosdb/server/entity/wrapper/Parent.java
similarity index 87%
rename from src/main/java/caosdb/server/entity/wrapper/Parent.java
rename to src/main/java/org/caosdb/server/entity/wrapper/Parent.java
index f3686b5b802e004e55d572e58076e5e08bb5988d..00336f4a336ed3c7f35408e5996fa7adc936f42a 100644
--- a/src/main/java/caosdb/server/entity/wrapper/Parent.java
+++ b/src/main/java/org/caosdb/server/entity/wrapper/Parent.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.entity.wrapper;
+package org.caosdb.server.entity.wrapper;
 
-import caosdb.server.entity.Affiliation;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.xml.ParentToElementStrategy;
+import org.caosdb.server.entity.Affiliation;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.xml.ParentToElementStrategy;
 import org.jdom2.Element;
 
 public class Parent extends EntityWrapper {
diff --git a/src/main/java/caosdb/server/entity/wrapper/Property.java b/src/main/java/org/caosdb/server/entity/wrapper/Property.java
similarity index 91%
rename from src/main/java/caosdb/server/entity/wrapper/Property.java
rename to src/main/java/org/caosdb/server/entity/wrapper/Property.java
index 1d1cd2a8ae11489479b9e9191365843182d136ca..305a9d83cbfad835baa547670fae8e186417330d 100644
--- a/src/main/java/caosdb/server/entity/wrapper/Property.java
+++ b/src/main/java/org/caosdb/server/entity/wrapper/Property.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.entity.wrapper;
+package org.caosdb.server.entity.wrapper;
 
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.GenericValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
 import org.apache.shiro.authz.AuthorizationException;
 import org.apache.shiro.authz.Permission;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.GenericValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
 import org.jdom2.Element;
 
 public class Property extends EntityWrapper {
diff --git a/src/main/java/caosdb/server/entity/xml/DomainToElementStrategy.java b/src/main/java/org/caosdb/server/entity/xml/DomainToElementStrategy.java
similarity index 95%
rename from src/main/java/caosdb/server/entity/xml/DomainToElementStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/DomainToElementStrategy.java
index 099b51044353f3074ece5cef77a7588a658bab81..a8b600793a6fdaf8d15ec499112cc06771f66fc3 100644
--- a/src/main/java/caosdb/server/entity/xml/DomainToElementStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/DomainToElementStrategy.java
@@ -22,9 +22,9 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.EntityInterface;
 import org.jdom2.Element;
 
 /**
diff --git a/src/main/java/caosdb/server/entity/xml/EntityToElementStrategy.java b/src/main/java/org/caosdb/server/entity/xml/EntityToElementStrategy.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/xml/EntityToElementStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/EntityToElementStrategy.java
index 6cfe8fa9f3628cc0670ccb3e6f30a263a0bc5cf3..e6dc2b21d088ceeff9e0e7a9b60547b288893f18 100644
--- a/src/main/java/caosdb/server/entity/xml/EntityToElementStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/EntityToElementStrategy.java
@@ -22,14 +22,14 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.TransactionLogMessage;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.TransactionLogMessage;
 import org.jdom2.Attribute;
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/xml/FileToElementStrategy.java b/src/main/java/org/caosdb/server/entity/xml/FileToElementStrategy.java
similarity index 95%
rename from src/main/java/caosdb/server/entity/xml/FileToElementStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/FileToElementStrategy.java
index 82fb05218842675aacad177c364e74b3d4082546..7ac394a2e3f226afa6f4723daadc95c63db69b25 100644
--- a/src/main/java/caosdb/server/entity/xml/FileToElementStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/FileToElementStrategy.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.EntityInterface;
 import org.jdom2.Attribute;
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/xml/ParentToElementStrategy.java b/src/main/java/org/caosdb/server/entity/xml/ParentToElementStrategy.java
similarity index 91%
rename from src/main/java/caosdb/server/entity/xml/ParentToElementStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/ParentToElementStrategy.java
index 2498e00bfda219eb5e724a7c38bc73cc4ad3468e..29c163dc5ca55b731aa44a85224821c41356e35a 100644
--- a/src/main/java/caosdb/server/entity/xml/ParentToElementStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/ParentToElementStrategy.java
@@ -22,11 +22,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.utils.EntityStatus;
 import org.jdom2.Element;
 
 /**
diff --git a/src/main/java/caosdb/server/entity/xml/PropertyToElementStrategy.java b/src/main/java/org/caosdb/server/entity/xml/PropertyToElementStrategy.java
similarity index 89%
rename from src/main/java/caosdb/server/entity/xml/PropertyToElementStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/PropertyToElementStrategy.java
index a88b47cbd411d1b62764a2d6cc130b9ff7d04cae..60014d82b18da4e8dfdd5fe0bcf042171c2bdda7 100644
--- a/src/main/java/caosdb/server/entity/xml/PropertyToElementStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/PropertyToElementStrategy.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.datatype.SingleValue;
-import caosdb.server.datatype.Value;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.MagicTypes;
+import org.caosdb.server.datatype.SingleValue;
+import org.caosdb.server.datatype.Value;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.MagicTypes;
 import org.jdom2.Attribute;
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/xml/SetFieldStrategy.java b/src/main/java/org/caosdb/server/entity/xml/SetFieldStrategy.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/xml/SetFieldStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/SetFieldStrategy.java
index 7a4a29a16cc545ca5316c7b086a8b1ec46cfcfc3..1d9f219086e5ddd921d9519d3391e1cca9fbffc9 100644
--- a/src/main/java/caosdb/server/entity/xml/SetFieldStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/SetFieldStrategy.java
@@ -22,14 +22,14 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.query.Query;
-import caosdb.server.query.Query.Selection;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.query.Query;
+import org.caosdb.server.query.Query.Selection;
 
 /**
  * A class which decides whether the properties, parents, name, etc. of an entity are to be included
diff --git a/src/main/java/caosdb/server/entity/xml/ToElementStrategy.java b/src/main/java/org/caosdb/server/entity/xml/ToElementStrategy.java
similarity index 93%
rename from src/main/java/caosdb/server/entity/xml/ToElementStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/ToElementStrategy.java
index 29ddc78c9eda0503ff63a903d5f8192bbf49135e..81a7074c90df84f88ff3104c84662cb9a7a56433 100644
--- a/src/main/java/caosdb/server/entity/xml/ToElementStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/ToElementStrategy.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.EntityInterface;
 import org.jdom2.Element;
 
 public interface ToElementStrategy {
diff --git a/src/main/java/caosdb/server/entity/xml/ToElementable.java b/src/main/java/org/caosdb/server/entity/xml/ToElementable.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/xml/ToElementable.java
rename to src/main/java/org/caosdb/server/entity/xml/ToElementable.java
index 4e7b3696664501afd18250a5dc44b8b1321856da..4202111b89c91e38659f34bd6c4f89af80efd957 100644
--- a/src/main/java/caosdb/server/entity/xml/ToElementable.java
+++ b/src/main/java/org/caosdb/server/entity/xml/ToElementable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/xml/VersionXMLSerializer.java b/src/main/java/org/caosdb/server/entity/xml/VersionXMLSerializer.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/xml/VersionXMLSerializer.java
rename to src/main/java/org/caosdb/server/entity/xml/VersionXMLSerializer.java
index badd1a95f2a2338bde43a1de23774097ab2c45ed..65ec9880dfef43a4e460bba692ece6c9f87faa7e 100644
--- a/src/main/java/caosdb/server/entity/xml/VersionXMLSerializer.java
+++ b/src/main/java/org/caosdb/server/entity/xml/VersionXMLSerializer.java
@@ -18,10 +18,10 @@
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
  */
 
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.entity.Version;
 import java.util.TimeZone;
+import org.caosdb.server.entity.Version;
 import org.jdom2.Element;
 
 /**
diff --git a/src/main/java/caosdb/server/jobs/ContainerJob.java b/src/main/java/org/caosdb/server/jobs/ContainerJob.java
similarity index 87%
rename from src/main/java/caosdb/server/jobs/ContainerJob.java
rename to src/main/java/org/caosdb/server/jobs/ContainerJob.java
index 26588b682501d6675d40f5a0bd41974409e1e5c3..205b28f6338434fc9edf636aaca2ae82ddd8a896 100644
--- a/src/main/java/caosdb/server/jobs/ContainerJob.java
+++ b/src/main/java/org/caosdb/server/jobs/ContainerJob.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
-import caosdb.server.entity.Message;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.utils.EntityStatus;
 
 public abstract class ContainerJob extends Job {
 
diff --git a/src/main/java/caosdb/server/jobs/EntityJob.java b/src/main/java/org/caosdb/server/jobs/EntityJob.java
similarity index 93%
rename from src/main/java/caosdb/server/jobs/EntityJob.java
rename to src/main/java/org/caosdb/server/jobs/EntityJob.java
index 8644724ea33b02e6e586339188ee8b8f105b9177..b0dd8ecc9b2eadf6342e29b7c1d82adce57fc767 100644
--- a/src/main/java/caosdb/server/jobs/EntityJob.java
+++ b/src/main/java/org/caosdb/server/jobs/EntityJob.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.EntityInterface;
 
 public abstract class EntityJob extends Job {
 
diff --git a/src/main/java/caosdb/server/jobs/FilesJob.java b/src/main/java/org/caosdb/server/jobs/FilesJob.java
similarity index 93%
rename from src/main/java/caosdb/server/jobs/FilesJob.java
rename to src/main/java/org/caosdb/server/jobs/FilesJob.java
index e9a02a35728b1613058402bd29bb9dc0fd31b3e3..43c89be9e8c6d35d124314050f332f7a43792496 100644
--- a/src/main/java/caosdb/server/jobs/FilesJob.java
+++ b/src/main/java/org/caosdb/server/jobs/FilesJob.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
-import caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.FileProperties;
 
 public abstract class FilesJob extends EntityJob {
 
diff --git a/src/main/java/caosdb/server/jobs/FlagJob.java b/src/main/java/org/caosdb/server/jobs/FlagJob.java
similarity index 97%
rename from src/main/java/caosdb/server/jobs/FlagJob.java
rename to src/main/java/org/caosdb/server/jobs/FlagJob.java
index 94ce2189033c4fff524907b3ed5e80de79207c55..5c039bb3601e078d6f5ebcb3a48d4c35b6c90229 100644
--- a/src/main/java/caosdb/server/jobs/FlagJob.java
+++ b/src/main/java/org/caosdb/server/jobs/FlagJob.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
 public abstract class FlagJob extends ContainerJob {
 
diff --git a/src/main/java/caosdb/server/jobs/Job.java b/src/main/java/org/caosdb/server/jobs/Job.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/Job.java
rename to src/main/java/org/caosdb/server/jobs/Job.java
index ff214b977dfd870a9aa56b3e8efa4f12967b2083..1e5665524a455d8f2983e61c64ca8d7caecaaf72 100644
--- a/src/main/java/caosdb/server/jobs/Job.java
+++ b/src/main/java/org/caosdb/server/jobs/Job.java
@@ -22,30 +22,8 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.transaction.GetIDByName;
-import caosdb.server.database.backend.transaction.IsSubType;
-import caosdb.server.database.backend.transaction.RetrieveFullEntity;
-import caosdb.server.database.backend.transaction.RetrieveParents;
-import caosdb.server.database.backend.transaction.RetrieveSparseEntity;
-import caosdb.server.database.backend.transaction.RuleLoader;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.datatype.ReferenceDatatype2;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.jobs.core.Mode;
-import caosdb.server.transaction.Transaction;
-import caosdb.server.utils.AbstractObservable;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.jobs;
+
 import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -55,6 +33,28 @@ import java.util.Set;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authz.Permission;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.transaction.GetIDByName;
+import org.caosdb.server.database.backend.transaction.IsSubType;
+import org.caosdb.server.database.backend.transaction.RetrieveFullEntity;
+import org.caosdb.server.database.backend.transaction.RetrieveParents;
+import org.caosdb.server.database.backend.transaction.RetrieveSparseEntity;
+import org.caosdb.server.database.backend.transaction.RuleLoader;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.datatype.ReferenceDatatype2;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.jobs.core.Mode;
+import org.caosdb.server.transaction.Transaction;
+import org.caosdb.server.utils.AbstractObservable;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
+import org.caosdb.server.utils.ServerMessages;
 import org.reflections.Reflections;
 
 public abstract class Job extends AbstractObservable implements Observer {
diff --git a/src/main/java/caosdb/server/jobs/JobAnnotation.java b/src/main/java/org/caosdb/server/jobs/JobAnnotation.java
similarity index 94%
rename from src/main/java/caosdb/server/jobs/JobAnnotation.java
rename to src/main/java/org/caosdb/server/jobs/JobAnnotation.java
index 96f4afcd46c2f80fe2c959bf815ca523a71cb52d..15193dcdd590745773f308c71b9ed3bb1351a413 100644
--- a/src/main/java/caosdb/server/jobs/JobAnnotation.java
+++ b/src/main/java/org/caosdb/server/jobs/JobAnnotation.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
-import caosdb.server.transaction.TransactionInterface;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import org.caosdb.server.transaction.TransactionInterface;
 
 @Retention(RetentionPolicy.RUNTIME)
 public @interface JobAnnotation {
diff --git a/src/main/java/caosdb/server/jobs/JobExecutionTime.java b/src/main/java/org/caosdb/server/jobs/JobExecutionTime.java
similarity index 97%
rename from src/main/java/caosdb/server/jobs/JobExecutionTime.java
rename to src/main/java/org/caosdb/server/jobs/JobExecutionTime.java
index 81bb0d983de7fb920c1484fc899b91bd9abd12db..9374ab9b1c2f4c285b538b1721441f0bc7272600 100644
--- a/src/main/java/caosdb/server/jobs/JobExecutionTime.java
+++ b/src/main/java/org/caosdb/server/jobs/JobExecutionTime.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
 public enum JobExecutionTime {
   INIT,
diff --git a/src/main/java/caosdb/server/jobs/JobTarget.java b/src/main/java/org/caosdb/server/jobs/JobTarget.java
similarity index 96%
rename from src/main/java/caosdb/server/jobs/JobTarget.java
rename to src/main/java/org/caosdb/server/jobs/JobTarget.java
index ec31a33370f8dc1ba69621022c0e109714cfa73d..764c70250fd050bc5a1962db8bd5bc4006ae0a70 100644
--- a/src/main/java/caosdb/server/jobs/JobTarget.java
+++ b/src/main/java/org/caosdb/server/jobs/JobTarget.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
 public interface JobTarget {
 
diff --git a/src/main/java/caosdb/server/jobs/Schedule.java b/src/main/java/org/caosdb/server/jobs/Schedule.java
similarity index 97%
rename from src/main/java/caosdb/server/jobs/Schedule.java
rename to src/main/java/org/caosdb/server/jobs/Schedule.java
index 4e7f005f3d2f790008a991a0138d62013f6a545a..7f35106bcdda8ddc00512197091fa096a6bc157e 100644
--- a/src/main/java/caosdb/server/jobs/Schedule.java
+++ b/src/main/java/org/caosdb/server/jobs/Schedule.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
-import caosdb.server.entity.EntityInterface;
 import java.util.Collection;
 import java.util.concurrent.CopyOnWriteArrayList;
+import org.caosdb.server.entity.EntityInterface;
 
 class ScheduledJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/AccessControl.java b/src/main/java/org/caosdb/server/jobs/core/AccessControl.java
similarity index 82%
rename from src/main/java/caosdb/server/jobs/core/AccessControl.java
rename to src/main/java/org/caosdb/server/jobs/core/AccessControl.java
index 0dd2ef4740d1a17d6e6ed8b0cc04c8d66a56c918..d1a2113a2f87018cec63d381cce64ad6c8ad09f2 100644
--- a/src/main/java/caosdb/server/jobs/core/AccessControl.java
+++ b/src/main/java/org/caosdb/server/jobs/core/AccessControl.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.RetrieveSparseEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.jobs.ContainerJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.backend.transaction.RetrieveSparseEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.jobs.ContainerJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(time = JobExecutionTime.INIT)
 public class AccessControl extends ContainerJob {
diff --git a/src/main/java/caosdb/server/jobs/core/Atomic.java b/src/main/java/org/caosdb/server/jobs/core/Atomic.java
similarity index 81%
rename from src/main/java/caosdb/server/jobs/core/Atomic.java
rename to src/main/java/org/caosdb/server/jobs/core/Atomic.java
index cdc9f25d7367a9732dcdcc9a0e03dd5e359acaa2..509f87fc8515ca08daa1a5cb8ef6571dfe6fa441 100644
--- a/src/main/java/caosdb/server/jobs/core/Atomic.java
+++ b/src/main/java/org/caosdb/server/jobs/core/Atomic.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.ContainerJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.transaction.WriteTransaction;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.ContainerJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.transaction.WriteTransaction;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(
     time = JobExecutionTime.POST_CHECK,
diff --git a/src/main/java/caosdb/server/jobs/core/CheckChildDependencyExistent.java b/src/main/java/org/caosdb/server/jobs/core/CheckChildDependencyExistent.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/core/CheckChildDependencyExistent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckChildDependencyExistent.java
index a3d9f4e493b189e7fb49de69347c5b6149f9f885..01d5a2de394180ff474600b4597e28e5356d9b3d 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckChildDependencyExistent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckChildDependencyExistent.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.GetChildren;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import java.util.List;
+import org.caosdb.server.database.backend.transaction.GetChildren;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether any children of this entity do exist. There must not be any children left when an
diff --git a/src/main/java/caosdb/server/jobs/core/CheckDatatypePresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckDatatypePresent.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/core/CheckDatatypePresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckDatatypePresent.java
index faf481dba5ac16836b4495d6112fc25c887a6f1f..ce9943ecbefb4d669003a097e74bf9baff078167 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckDatatypePresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckDatatypePresent.java
@@ -20,22 +20,22 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
-
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.EntityWasNotUniqueException;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.datatype.ReferenceDatatype2;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Role;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.jobs.Job;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.jobs.core;
+
 import java.util.List;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.EntityWasNotUniqueException;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.datatype.ReferenceDatatype2;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.jobs.Job;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether the entity has a data type. Assign the data type of the abstract property if
diff --git a/src/main/java/caosdb/server/jobs/core/CheckDescPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckDescPresent.java
similarity index 89%
rename from src/main/java/caosdb/server/jobs/core/CheckDescPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckDescPresent.java
index b055e8fa25669aadf6cb40d65d1eb949794e3e73..fc3a5114f240c796c114f92f8e6271e4fd3bd9ac 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckDescPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckDescPresent.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether an entity has a description.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckEntityACLRoles.java b/src/main/java/org/caosdb/server/jobs/core/CheckEntityACLRoles.java
similarity index 79%
rename from src/main/java/caosdb/server/jobs/core/CheckEntityACLRoles.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckEntityACLRoles.java
index 1106a469efda9767e95076378eea958fd10c7b70..e2dd63b1d733d737e09a6b4e86f3fe4ae4bd0e30 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckEntityACLRoles.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckEntityACLRoles.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.ContainerJob;
-import caosdb.server.permissions.EntityACI;
-import caosdb.server.transaction.Insert;
-import caosdb.server.transaction.Update;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.ContainerJob;
+import org.caosdb.server.permissions.EntityACI;
+import org.caosdb.server.transaction.Insert;
+import org.caosdb.server.transaction.Update;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 public class CheckEntityACLRoles extends ContainerJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/CheckFileStorageConsistency.java b/src/main/java/org/caosdb/server/jobs/core/CheckFileStorageConsistency.java
similarity index 91%
rename from src/main/java/caosdb/server/jobs/core/CheckFileStorageConsistency.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckFileStorageConsistency.java
index 5af12ad71b4b3c5b12ac8321131b4d9cb29013d5..8dc6fc0c60bc234d65f576377a89244d0a7a673e 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckFileStorageConsistency.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckFileStorageConsistency.java
@@ -20,27 +20,27 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
-
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.transaction.FileStorageConsistencyCheck;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.transaction.Transaction;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
-import caosdb.server.utils.Undoable;
+package org.caosdb.server.jobs.core;
+
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.PrintStream;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.transaction.FileStorageConsistencyCheck;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.transaction.Transaction;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
+import org.caosdb.server.utils.Undoable;
 import org.jdom2.Document;
 import org.jdom2.output.Format;
 import org.jdom2.output.XMLOutputter;
@@ -210,7 +210,7 @@ public class CheckFileStorageConsistency extends FlagJob {
                     + "test_file_storage_consistecy"
                     + Integer.toString(hashCode()));
 
-        final Undoable undo2 = caosdb.server.utils.FileUtils.rename(f2, tmp2);
+        final Undoable undo2 = org.caosdb.server.utils.FileUtils.rename(f2, tmp2);
 
         final File overridden = new File(oldPath2);
         overridden.createNewFile();
diff --git a/src/main/java/caosdb/server/jobs/core/CheckNamePresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckNamePresent.java
similarity index 89%
rename from src/main/java/caosdb/server/jobs/core/CheckNamePresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckNamePresent.java
index d63a9cc54d4c413a0c827a562afa023b610ff872..f1600ce42117ab5f37fccd33b79d821efeccb774 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckNamePresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckNamePresent.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether an entity has a name.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckNoAdditionalPropertiesPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckNoAdditionalPropertiesPresent.java
similarity index 83%
rename from src/main/java/caosdb/server/jobs/core/CheckNoAdditionalPropertiesPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckNoAdditionalPropertiesPresent.java
index 1eb4941d47314f7f67bbe874784f2427cecdca92..b04a9151ab5c142e97a6efc9b19607896ab38daf 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckNoAdditionalPropertiesPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckNoAdditionalPropertiesPresent.java
@@ -1,14 +1,14 @@
-package caosdb.server.jobs.core;
-
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.jobs.core;
+
 import java.util.HashSet;
 import java.util.Objects;
 import java.util.Set;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(
     flag = "noAdditionalProperties",
diff --git a/src/main/java/caosdb/server/jobs/core/CheckNoOverridesPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckNoOverridesPresent.java
similarity index 76%
rename from src/main/java/caosdb/server/jobs/core/CheckNoOverridesPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckNoOverridesPresent.java
index c6b16210e7517c69c26ed6f2e8c556bf5687f7f4..e439354e88f39675491682877dd27aa54fd7a3ef 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckNoOverridesPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckNoOverridesPresent.java
@@ -1,10 +1,10 @@
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.Message;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(
     flag = "noOverrides",
diff --git a/src/main/java/caosdb/server/jobs/core/CheckParOblPropPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckParOblPropPresent.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/core/CheckParOblPropPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckParOblPropPresent.java
index bee056c5763593ce6ef6a71f713019fae30a8bb5..c592eca81394e4a92582fd3d2286b5ac0507dcce 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckParOblPropPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckParOblPropPresent.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.RetrieveFullEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.database.backend.transaction.RetrieveFullEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether an entity implements all obligatory properties of all parents.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckParPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckParPresent.java
similarity index 89%
rename from src/main/java/caosdb/server/jobs/core/CheckParPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckParPresent.java
index 7318e45f62c02378aec36a36b6915223f745e79e..8851456c236c0afd9f922f187089adc5f4e35ab1 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckParPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckParPresent.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether an entity has at least one parent.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckParValid.java b/src/main/java/org/caosdb/server/jobs/core/CheckParValid.java
similarity index 91%
rename from src/main/java/caosdb/server/jobs/core/CheckParValid.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckParValid.java
index 560558dce6e494fa4857fefadfa7d22ef79ee5aa..c6d10a8f4f7cd0656f571a4cbf70385ab9cb7725 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckParValid.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckParValid.java
@@ -20,21 +20,21 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
-
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.EntityWasNotUniqueException;
-import caosdb.server.entity.Affiliation;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.jobs.core;
+
 import com.google.common.base.Objects;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.EntityWasNotUniqueException;
+import org.caosdb.server.entity.Affiliation;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether all parents of an entity are valid/qualified.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckPropPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckPropPresent.java
similarity index 89%
rename from src/main/java/caosdb/server/jobs/core/CheckPropPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckPropPresent.java
index 3d8c44fd824df8f00a021ba2098b58c65d7eac3f..31a460971bc80ccf61d775c96b4632fa38f14f66 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckPropPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckPropPresent.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether at least one property is present.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckPropValid.java b/src/main/java/org/caosdb/server/jobs/core/CheckPropValid.java
similarity index 90%
rename from src/main/java/caosdb/server/jobs/core/CheckPropValid.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckPropValid.java
index 5e199e848984a4d042c3a755d83a8d57ba91987f..10ce6295a5b4910084d769278ca6348287e6223a 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckPropValid.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckPropValid.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
-
-import static caosdb.server.utils.ServerMessages.ENTITY_DOES_NOT_EXIST;
-
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.EntityWasNotUniqueException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.jobs.core;
+
+import static org.caosdb.server.utils.ServerMessages.ENTITY_DOES_NOT_EXIST;
+
 import com.google.common.base.Objects;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.EntityWasNotUniqueException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether all properties of an entity are valid or qualified.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckQueryTemplate.java b/src/main/java/org/caosdb/server/jobs/core/CheckQueryTemplate.java
similarity index 85%
rename from src/main/java/caosdb/server/jobs/core/CheckQueryTemplate.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckQueryTemplate.java
index e675accb6d571620dfb39df47f1104965cb8866b..1b5ccb41f58b92d2230fb99e5635ad02bd9922f5 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckQueryTemplate.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckQueryTemplate.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.Role;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.query.Query;
-import caosdb.server.query.Query.ParsingException;
-import caosdb.server.query.Query.Type;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.query.Query;
+import org.caosdb.server.query.Query.ParsingException;
+import org.caosdb.server.query.Query.Type;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 public class CheckQueryTemplate extends EntityJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/CheckReferenceDependencyExistent.java b/src/main/java/org/caosdb/server/jobs/core/CheckReferenceDependencyExistent.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/core/CheckReferenceDependencyExistent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckReferenceDependencyExistent.java
index fd5eaab0f0d302e9b5586693ef502c32d607d773..c59eededd391645737b614f5f2e97699160c8cf7 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckReferenceDependencyExistent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckReferenceDependencyExistent.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.GetDependentEntities;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import java.util.List;
+import org.caosdb.server.database.backend.transaction.GetDependentEntities;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether an entity is referenced by other entities. In the event that someone wants to
diff --git a/src/main/java/caosdb/server/jobs/core/CheckRefidIsaParRefid.java b/src/main/java/org/caosdb/server/jobs/core/CheckRefidIsaParRefid.java
similarity index 87%
rename from src/main/java/caosdb/server/jobs/core/CheckRefidIsaParRefid.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckRefidIsaParRefid.java
index 04a1ac8c5bf6aa42bf2dcec803e6bc1b68a3a7f0..59fcfe1d877ca61c98674ee85919f03b7bd4278e 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckRefidIsaParRefid.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckRefidIsaParRefid.java
@@ -20,24 +20,24 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.CollectionValue;
-import caosdb.server.datatype.FileDatatype;
-import caosdb.server.datatype.IndexedSingleValue;
-import caosdb.server.datatype.ReferenceDatatype2;
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.CollectionValue;
+import org.caosdb.server.datatype.FileDatatype;
+import org.caosdb.server.datatype.IndexedSingleValue;
+import org.caosdb.server.datatype.ReferenceDatatype2;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check if the referenced entity is in the scope of the data type. E.g. if the data type is
diff --git a/src/main/java/caosdb/server/jobs/core/CheckRefidPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckRefidPresent.java
similarity index 93%
rename from src/main/java/caosdb/server/jobs/core/CheckRefidPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckRefidPresent.java
index 7af03b314b6894269e62766b63adad08a13d1fe8..17d9bc7c9fbbfd37d64446a8b21ff65afca9391d 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckRefidPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckRefidPresent.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.EntityJob;
+import org.caosdb.server.jobs.EntityJob;
 
 public class CheckRefidPresent extends EntityJob {
   @Override
diff --git a/src/main/java/caosdb/server/jobs/core/CheckRefidValid.java b/src/main/java/org/caosdb/server/jobs/core/CheckRefidValid.java
similarity index 88%
rename from src/main/java/caosdb/server/jobs/core/CheckRefidValid.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckRefidValid.java
index 36591070cd64558114bb56e22860b95f42fc6463..42476f87b43496e162b6eb036480b6b745ee91f2 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckRefidValid.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckRefidValid.java
@@ -22,23 +22,23 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
-
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.EntityWasNotUniqueException;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.CollectionValue;
-import caosdb.server.datatype.IndexedSingleValue;
-import caosdb.server.datatype.ReferenceDatatype;
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.jobs.core;
+
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.EntityWasNotUniqueException;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.CollectionValue;
+import org.caosdb.server.datatype.IndexedSingleValue;
+import org.caosdb.server.datatype.ReferenceDatatype;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether a reference property is pointing to a valid entity.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckTargetPathValid.java b/src/main/java/org/caosdb/server/jobs/core/CheckTargetPathValid.java
similarity index 87%
rename from src/main/java/caosdb/server/jobs/core/CheckTargetPathValid.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckTargetPathValid.java
index 404e6b3a0d82950061ba4168a7a6f32e5f847400..7d06498f5d9e4fbc382e7dde025983ceac6a7fdc 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckTargetPathValid.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckTargetPathValid.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.FileSystem;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether the target path of a file entity is valid. That is, the target path is in the file
diff --git a/src/main/java/caosdb/server/jobs/core/CheckUnitPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckUnitPresent.java
similarity index 86%
rename from src/main/java/caosdb/server/jobs/core/CheckUnitPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckUnitPresent.java
index 5b923769025dd49fb3ac0a9339f674edc37c022c..aa87ecfff69635407bc90d372c89f089e4f308dc 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckUnitPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckUnitPresent.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.MagicTypes;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.MagicTypes;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether this entity has a unit property.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckValueParsable.java b/src/main/java/org/caosdb/server/jobs/core/CheckValueParsable.java
similarity index 91%
rename from src/main/java/caosdb/server/jobs/core/CheckValueParsable.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckValueParsable.java
index 3140952d673798fdf120c721489be67ae31e0414..34e1960961f72118567653a77e4f48fe357dfedc 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckValueParsable.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckValueParsable.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
 
 /**
  * Check whether the value of an entity is parsable according to the entity's data type. This job
diff --git a/src/main/java/caosdb/server/jobs/core/DebugCalls.java b/src/main/java/org/caosdb/server/jobs/core/DebugCalls.java
similarity index 88%
rename from src/main/java/caosdb/server/jobs/core/DebugCalls.java
rename to src/main/java/org/caosdb/server/jobs/core/DebugCalls.java
index b56fb6fbef4a2b3f53c0d5aa66f9bf244307be5e..8527560d02e498bf3812162a8b01b9641aad7260 100644
--- a/src/main/java/caosdb/server/jobs/core/DebugCalls.java
+++ b/src/main/java/org/caosdb/server/jobs/core/DebugCalls.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
 
 @JobAnnotation(
     flag = "debug",
diff --git a/src/main/java/caosdb/server/jobs/core/ExecuteQuery.java b/src/main/java/org/caosdb/server/jobs/core/ExecuteQuery.java
similarity index 81%
rename from src/main/java/caosdb/server/jobs/core/ExecuteQuery.java
rename to src/main/java/org/caosdb/server/jobs/core/ExecuteQuery.java
index 6de19d6006dd31bde9fcff033f1808e6e4aac276..b6583f024071e3c1151cf974b387ffe72d1579b7 100644
--- a/src/main/java/caosdb/server/jobs/core/ExecuteQuery.java
+++ b/src/main/java/org/caosdb/server/jobs/core/ExecuteQuery.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.query.Query;
-import caosdb.server.query.Query.ParsingException;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.query.Query;
+import org.caosdb.server.query.Query.ParsingException;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(flag = "query", time = JobExecutionTime.INIT)
 public class ExecuteQuery extends FlagJob {
diff --git a/src/main/java/caosdb/server/jobs/core/History.java b/src/main/java/org/caosdb/server/jobs/core/History.java
similarity index 79%
rename from src/main/java/caosdb/server/jobs/core/History.java
rename to src/main/java/org/caosdb/server/jobs/core/History.java
index ee72413a46e65f8b8a020315e3c2e93c7b8ccd97..a7c58979f49b2a7abdc313924dc8fb6b86bbffd4 100644
--- a/src/main/java/caosdb/server/jobs/core/History.java
+++ b/src/main/java/org/caosdb/server/jobs/core/History.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.RetrieveTransactionHistory;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.database.backend.transaction.RetrieveTransactionHistory;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(time = JobExecutionTime.POST_TRANSACTION, flag = "H")
 public class History extends FlagJob {
diff --git a/src/main/java/caosdb/server/jobs/core/Inheritance.java b/src/main/java/org/caosdb/server/jobs/core/Inheritance.java
similarity index 94%
rename from src/main/java/caosdb/server/jobs/core/Inheritance.java
rename to src/main/java/org/caosdb/server/jobs/core/Inheritance.java
index f7149eb3c74270012db011385e17bbf01fdd01a2..3c08f9f281335c64a2af28ae131ff99d2c5ed6ca 100644
--- a/src/main/java/caosdb/server/jobs/core/Inheritance.java
+++ b/src/main/java/org/caosdb/server/jobs/core/Inheritance.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.RetrieveFullEntity;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.transaction.Insert;
-import caosdb.server.transaction.Update;
-import caosdb.server.utils.EntityStatus;
 import java.util.ArrayList;
+import org.caosdb.server.database.backend.transaction.RetrieveFullEntity;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.transaction.Insert;
+import org.caosdb.server.transaction.Update;
+import org.caosdb.server.utils.EntityStatus;
 
 public class Inheritance extends EntityJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/InsertFilesInDir.java b/src/main/java/org/caosdb/server/jobs/core/InsertFilesInDir.java
similarity index 93%
rename from src/main/java/caosdb/server/jobs/core/InsertFilesInDir.java
rename to src/main/java/org/caosdb/server/jobs/core/InsertFilesInDir.java
index 6b3144eb08b471ea90b836978c76b4ff643c313d..73d7ee3f5be0b8847ce322f6774719b7f5a768c2 100644
--- a/src/main/java/caosdb/server/jobs/core/InsertFilesInDir.java
+++ b/src/main/java/org/caosdb/server/jobs/core/InsertFilesInDir.java
@@ -20,34 +20,34 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.ServerProperties;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.RollBackHandler;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.Role;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.Job;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.Undoable;
-import caosdb.server.utils.Utils;
+package org.caosdb.server.jobs.core;
+
 import java.io.File;
 import java.io.IOException;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.RollBackHandler;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.Job;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.Undoable;
+import org.caosdb.server.utils.Utils;
 
 @JobAnnotation(
     flag = "InsertFilesInDir",
diff --git a/src/main/java/caosdb/server/jobs/core/LoadContainerFlagJobs.java b/src/main/java/org/caosdb/server/jobs/core/LoadContainerFlagJobs.java
similarity index 85%
rename from src/main/java/caosdb/server/jobs/core/LoadContainerFlagJobs.java
rename to src/main/java/org/caosdb/server/jobs/core/LoadContainerFlagJobs.java
index 9df5e601afd7839887164b87ae1ea00a892d1bb7..89f381d648144e274325c5c71a57c9f4daf04895 100644
--- a/src/main/java/caosdb/server/jobs/core/LoadContainerFlagJobs.java
+++ b/src/main/java/org/caosdb/server/jobs/core/LoadContainerFlagJobs.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.ContainerJob;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.Job;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
 import java.util.Map.Entry;
+import org.caosdb.server.jobs.ContainerJob;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.Job;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
 
 @JobAnnotation(time = JobExecutionTime.INIT)
 public class LoadContainerFlagJobs extends ContainerJob {
diff --git a/src/main/java/caosdb/server/jobs/core/MatchFileProp.java b/src/main/java/org/caosdb/server/jobs/core/MatchFileProp.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/core/MatchFileProp.java
rename to src/main/java/org/caosdb/server/jobs/core/MatchFileProp.java
index 7d193ebca7b3027b48edd55866526d8fb5025cb2..cef8b2b8ae9764ceb1e4bd2636c2b532d7e9415b 100644
--- a/src/main/java/caosdb/server/jobs/core/MatchFileProp.java
+++ b/src/main/java/org/caosdb/server/jobs/core/MatchFileProp.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.FileProperties;
-import caosdb.server.jobs.FilesJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.jobs.FilesJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Match the checksum and the size of a file record to the uploaded file's checksum and size.
diff --git a/src/main/java/caosdb/server/jobs/core/Mode.java b/src/main/java/org/caosdb/server/jobs/core/Mode.java
similarity index 96%
rename from src/main/java/caosdb/server/jobs/core/Mode.java
rename to src/main/java/org/caosdb/server/jobs/core/Mode.java
index 9814caed2d5aaa790c5706d2ed9d116f3f1ff740..561a4b0c5fcb4e2c8c66a2b9f9a02ea91c44c119 100644
--- a/src/main/java/caosdb/server/jobs/core/Mode.java
+++ b/src/main/java/org/caosdb/server/jobs/core/Mode.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
 public enum Mode {
   MUST,
diff --git a/src/main/java/caosdb/server/jobs/core/NoCache.java b/src/main/java/org/caosdb/server/jobs/core/NoCache.java
similarity index 90%
rename from src/main/java/caosdb/server/jobs/core/NoCache.java
rename to src/main/java/org/caosdb/server/jobs/core/NoCache.java
index f301e9b9819c002f67b059ea7415715fff3e9dd0..a4f639392ac63a97f2f025dfe6717a664114c561 100644
--- a/src/main/java/caosdb/server/jobs/core/NoCache.java
+++ b/src/main/java/org/caosdb/server/jobs/core/NoCache.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
 
 @JobAnnotation(
     flag = "cache",
diff --git a/src/main/java/caosdb/server/jobs/core/Paging.java b/src/main/java/org/caosdb/server/jobs/core/Paging.java
similarity index 86%
rename from src/main/java/caosdb/server/jobs/core/Paging.java
rename to src/main/java/org/caosdb/server/jobs/core/Paging.java
index f0d0d6a66d3f2f11788a1b52ab68e476b44b3c87..43683639f75c08be394a38ce03e91282405f333d 100644
--- a/src/main/java/caosdb/server/jobs/core/Paging.java
+++ b/src/main/java/org/caosdb/server/jobs/core/Paging.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.utils.EntityStatus;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.utils.EntityStatus;
 
 @JobAnnotation(flag = "P", time = JobExecutionTime.PRE_TRANSACTION)
 public class Paging extends FlagJob {
diff --git a/src/main/java/caosdb/server/jobs/core/ParseUnit.java b/src/main/java/org/caosdb/server/jobs/core/ParseUnit.java
similarity index 80%
rename from src/main/java/caosdb/server/jobs/core/ParseUnit.java
rename to src/main/java/org/caosdb/server/jobs/core/ParseUnit.java
index 2dbde3111e3bd5a8552c43fe1c0e95a73294414a..8e0a7818ea3c7567456115dafe5b3b2593f7511b 100644
--- a/src/main/java/caosdb/server/jobs/core/ParseUnit.java
+++ b/src/main/java/org/caosdb/server/jobs/core/ParseUnit.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.datatype.SingleValue;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.MagicTypes;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
-import caosdb.unit.CaosDBSystemOfUnits;
-import caosdb.unit.Unit;
-import caosdb.unit.UnknownUnit;
 import de.timmfitschen.easyunits.parser.ParserException;
+import org.caosdb.server.datatype.SingleValue;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.MagicTypes;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.unit.CaosDBSystemOfUnits;
+import org.caosdb.unit.Unit;
+import org.caosdb.unit.UnknownUnit;
 
 public class ParseUnit extends EntityJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/PickUp.java b/src/main/java/org/caosdb/server/jobs/core/PickUp.java
similarity index 85%
rename from src/main/java/caosdb/server/jobs/core/PickUp.java
rename to src/main/java/org/caosdb/server/jobs/core/PickUp.java
index 542e7ee5cbb022c2456af0e305ef37ca02482dda..dff574a4ad0aa5199fe3ccdfdd9c72d2a7b2bb67 100644
--- a/src/main/java/caosdb/server/jobs/core/PickUp.java
+++ b/src/main/java/org/caosdb/server/jobs/core/PickUp.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.FileSystem;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
 import java.io.File;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
 
 @JobAnnotation(time = JobExecutionTime.INIT)
 public class PickUp extends EntityJob {
diff --git a/src/main/java/caosdb/server/jobs/core/ProcessNameProperties.java b/src/main/java/org/caosdb/server/jobs/core/ProcessNameProperties.java
similarity index 90%
rename from src/main/java/caosdb/server/jobs/core/ProcessNameProperties.java
rename to src/main/java/org/caosdb/server/jobs/core/ProcessNameProperties.java
index 0a82c10108b054d45752756c14597d738b6a45f9..950c61d36255b68f52e3066616b1dee5d9f259c3 100644
--- a/src/main/java/caosdb/server/jobs/core/ProcessNameProperties.java
+++ b/src/main/java/org/caosdb/server/jobs/core/ProcessNameProperties.java
@@ -20,22 +20,22 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import static caosdb.server.entity.MagicTypes.NAME;
+import static org.caosdb.server.entity.MagicTypes.NAME;
 
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Set;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * To be called after CheckPropValid.
diff --git a/src/main/java/caosdb/server/jobs/core/RemoveDuplicates.java b/src/main/java/org/caosdb/server/jobs/core/RemoveDuplicates.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/core/RemoveDuplicates.java
rename to src/main/java/org/caosdb/server/jobs/core/RemoveDuplicates.java
index a09f66533cb3bc3c7cc01b2d6931bc120f87f7a7..3d3adcc1e1175d7aed95bba64d9d81d13b70f495 100644
--- a/src/main/java/caosdb/server/jobs/core/RemoveDuplicates.java
+++ b/src/main/java/org/caosdb/server/jobs/core/RemoveDuplicates.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.ContainerJob;
 import java.util.HashSet;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.ContainerJob;
 
 public class RemoveDuplicates extends ContainerJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/ResolveNames.java b/src/main/java/org/caosdb/server/jobs/core/ResolveNames.java
similarity index 80%
rename from src/main/java/caosdb/server/jobs/core/ResolveNames.java
rename to src/main/java/org/caosdb/server/jobs/core/ResolveNames.java
index a7781fb4c1fd82d8a1f14df01da152b50ce86ae3..d0a1f0768b77fa7bd110019dd95220f65ad256f2 100644
--- a/src/main/java/caosdb/server/jobs/core/ResolveNames.java
+++ b/src/main/java/org/caosdb/server/jobs/core/ResolveNames.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.GetIDByName;
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.jobs.ContainerJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.backend.transaction.GetIDByName;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.jobs.ContainerJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 public class ResolveNames extends ContainerJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/RetrieveACL.java b/src/main/java/org/caosdb/server/jobs/core/RetrieveACL.java
similarity index 81%
rename from src/main/java/caosdb/server/jobs/core/RetrieveACL.java
rename to src/main/java/org/caosdb/server/jobs/core/RetrieveACL.java
index 8446d586d9cac2043cda0ab1cd80732e83d96fda..f59b2c1ec94de846714575537516c41d18bf4629 100644
--- a/src/main/java/caosdb/server/jobs/core/RetrieveACL.java
+++ b/src/main/java/org/caosdb/server/jobs/core/RetrieveACL.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 @JobAnnotation(
diff --git a/src/main/java/caosdb/server/jobs/core/RetrieveAllJob.java b/src/main/java/org/caosdb/server/jobs/core/RetrieveAllJob.java
similarity index 83%
rename from src/main/java/caosdb/server/jobs/core/RetrieveAllJob.java
rename to src/main/java/org/caosdb/server/jobs/core/RetrieveAllJob.java
index 0fba1223a3bd0e984c5c2b6ff43dd58070b5bbc5..1ca43cec45413d80c307df2f4d09c6b8d34cfb49 100644
--- a/src/main/java/caosdb/server/jobs/core/RetrieveAllJob.java
+++ b/src/main/java/org/caosdb/server/jobs/core/RetrieveAllJob.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.RetrieveAll;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.database.backend.transaction.RetrieveAll;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
 
 @JobAnnotation(flag = "all", time = JobExecutionTime.INIT)
 public class RetrieveAllJob extends FlagJob {
diff --git a/src/main/java/caosdb/server/jobs/core/RetrieveIdOnlyFlag.java b/src/main/java/org/caosdb/server/jobs/core/RetrieveIdOnlyFlag.java
similarity index 83%
rename from src/main/java/caosdb/server/jobs/core/RetrieveIdOnlyFlag.java
rename to src/main/java/org/caosdb/server/jobs/core/RetrieveIdOnlyFlag.java
index 04dbf3632439d590c36425d3d1d0499333f76a8c..1712950dff9403df54f26457d0b6a763d7ce4de8 100644
--- a/src/main/java/caosdb/server/jobs/core/RetrieveIdOnlyFlag.java
+++ b/src/main/java/org/caosdb/server/jobs/core/RetrieveIdOnlyFlag.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.utils.EntityStatus;
 
 @JobAnnotation(flag = "IdOnly", time = JobExecutionTime.PRE_TRANSACTION)
 public class RetrieveIdOnlyFlag extends FlagJob {
diff --git a/src/main/java/caosdb/server/jobs/core/RetrieveOwner.java b/src/main/java/org/caosdb/server/jobs/core/RetrieveOwner.java
similarity index 82%
rename from src/main/java/caosdb/server/jobs/core/RetrieveOwner.java
rename to src/main/java/org/caosdb/server/jobs/core/RetrieveOwner.java
index 3c7fae64f16c3f7c0a6aa4791c404b640a26cb2b..7377805805ec55e2c3c3928cc42b0c053d8a9c9d 100644
--- a/src/main/java/caosdb/server/jobs/core/RetrieveOwner.java
+++ b/src/main/java/org/caosdb/server/jobs/core/RetrieveOwner.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.permissions.ResponsibleAgent;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import java.util.List;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.permissions.ResponsibleAgent;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 @JobAnnotation(
diff --git a/src/main/java/caosdb/server/jobs/core/RetriveAllNames.java b/src/main/java/org/caosdb/server/jobs/core/RetriveAllNames.java
similarity index 63%
rename from src/main/java/caosdb/server/jobs/core/RetriveAllNames.java
rename to src/main/java/org/caosdb/server/jobs/core/RetriveAllNames.java
index d7f58e00c602d5ed9a79d9e03fa08d9941e64217..dfd69a5cb5a40a6e6be35e345f17e38f3dbb7e2e 100644
--- a/src/main/java/caosdb/server/jobs/core/RetriveAllNames.java
+++ b/src/main/java/org/caosdb/server/jobs/core/RetriveAllNames.java
@@ -1,12 +1,12 @@
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.GetAllNames;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.database.backend.transaction.GetAllNames;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
 
 /**
  * A jobs which retrieves all known names for which the requesting user has the RETRIEVE_ENTITY
diff --git a/src/main/java/caosdb/server/jobs/core/SetImpToFix.java b/src/main/java/org/caosdb/server/jobs/core/SetImpToFix.java
similarity index 89%
rename from src/main/java/caosdb/server/jobs/core/SetImpToFix.java
rename to src/main/java/org/caosdb/server/jobs/core/SetImpToFix.java
index 09566b337c695daf3694c31dc49f93cd4d10bc8a..f0047d02f861ef26cbad12b4e6a5963d51415eec 100644
--- a/src/main/java/caosdb/server/jobs/core/SetImpToFix.java
+++ b/src/main/java/org/caosdb/server/jobs/core/SetImpToFix.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.jobs.EntityJob;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.jobs.EntityJob;
 
 /**
  * Set the statement status of all properties of an entity to the value "FIX".
diff --git a/src/main/java/caosdb/server/jobs/core/SetImpToRecByDefault.java b/src/main/java/org/caosdb/server/jobs/core/SetImpToRecByDefault.java
similarity index 91%
rename from src/main/java/caosdb/server/jobs/core/SetImpToRecByDefault.java
rename to src/main/java/org/caosdb/server/jobs/core/SetImpToRecByDefault.java
index dbce7d873243fe136e1fd26e64c958b5ba7b345e..dd6cfc0820d9cd15281897a200f82d2c7d9d02bb 100644
--- a/src/main/java/caosdb/server/jobs/core/SetImpToRecByDefault.java
+++ b/src/main/java/org/caosdb/server/jobs/core/SetImpToRecByDefault.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.jobs.EntityJob;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.jobs.EntityJob;
 
 /**
  * Set the statement status of all properties of an entity which do not have a statement status to
diff --git a/src/main/java/caosdb/server/jobs/core/Strict.java b/src/main/java/org/caosdb/server/jobs/core/Strict.java
similarity index 79%
rename from src/main/java/caosdb/server/jobs/core/Strict.java
rename to src/main/java/org/caosdb/server/jobs/core/Strict.java
index bb8d9af2aa3eb402c05419144f2f3543017f3833..aebbecf86a89476339dbdef8892b074aebc8196d 100644
--- a/src/main/java/caosdb/server/jobs/core/Strict.java
+++ b/src/main/java/org/caosdb/server/jobs/core/Strict.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.jobs.ContainerJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.jobs.ContainerJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(time = JobExecutionTime.POST_CHECK)
 public class Strict extends ContainerJob {
diff --git a/src/main/java/caosdb/server/jobs/core/TestMail.java b/src/main/java/org/caosdb/server/jobs/core/TestMail.java
similarity index 81%
rename from src/main/java/caosdb/server/jobs/core/TestMail.java
rename to src/main/java/org/caosdb/server/jobs/core/TestMail.java
index e529265a36cac6b483215500edc5b9793ef60afc..fb3e87097fae44f3f1f609dd7e347c27c6d971c2 100644
--- a/src/main/java/caosdb/server/jobs/core/TestMail.java
+++ b/src/main/java/org/caosdb/server/jobs/core/TestMail.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.Utils;
-import caosdb.server.utils.mail.Mail;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.Utils;
+import org.caosdb.server.utils.mail.Mail;
 
 @JobAnnotation(
     flag = "testMail",
diff --git a/src/main/java/caosdb/server/jobs/core/UniqueName.java b/src/main/java/org/caosdb/server/jobs/core/UniqueName.java
similarity index 83%
rename from src/main/java/caosdb/server/jobs/core/UniqueName.java
rename to src/main/java/org/caosdb/server/jobs/core/UniqueName.java
index 65b41253a34de0ad3e01b727e03fc4541746a222..300e32bf1662e4990f52bda0570a65c05e5d60b8 100644
--- a/src/main/java/caosdb/server/jobs/core/UniqueName.java
+++ b/src/main/java/org/caosdb/server/jobs/core/UniqueName.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.EntityWasNotUniqueException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.EntityWasNotUniqueException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(flag = "uniquename")
 public class UniqueName extends FlagJob {
diff --git a/src/main/java/caosdb/server/jobs/core/UpdateUnitConverters.java b/src/main/java/org/caosdb/server/jobs/core/UpdateUnitConverters.java
similarity index 87%
rename from src/main/java/caosdb/server/jobs/core/UpdateUnitConverters.java
rename to src/main/java/org/caosdb/server/jobs/core/UpdateUnitConverters.java
index 8d0118b80582e3a65b613caae2200719af428819..b3ef80adb64fcf3c1007a33a64bde691c9ff9c1d 100644
--- a/src/main/java/caosdb/server/jobs/core/UpdateUnitConverters.java
+++ b/src/main/java/org/caosdb/server/jobs/core/UpdateUnitConverters.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.InsertLinCon;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.unit.Converter;
-import caosdb.unit.LinearConverter;
-import caosdb.unit.Unit;
+import org.caosdb.server.database.backend.transaction.InsertLinCon;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.unit.Converter;
+import org.caosdb.unit.LinearConverter;
+import org.caosdb.unit.Unit;
 
 @JobAnnotation(time = JobExecutionTime.PRE_TRANSACTION)
 public class UpdateUnitConverters extends EntityJob {
diff --git a/src/main/java/caosdb/server/logging/RequestErrorLogMessage.java b/src/main/java/org/caosdb/server/logging/RequestErrorLogMessage.java
similarity index 97%
rename from src/main/java/caosdb/server/logging/RequestErrorLogMessage.java
rename to src/main/java/org/caosdb/server/logging/RequestErrorLogMessage.java
index ddffe7d512a7e31043883f238fd4fc2136d853bf..58217ca1882bd4ea25d92d8aeb482d846e3b94df 100644
--- a/src/main/java/caosdb/server/logging/RequestErrorLogMessage.java
+++ b/src/main/java/org/caosdb/server/logging/RequestErrorLogMessage.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.logging;
+package org.caosdb.server.logging;
 
-import caosdb.server.resource.ReReadableRepresentation;
 import java.io.IOException;
 import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import org.caosdb.server.resource.ReReadableRepresentation;
 import org.restlet.Message;
 import org.restlet.Request;
 import org.restlet.Response;
diff --git a/src/main/java/caosdb/server/logging/log4j/CustomConfigurationFactory.java b/src/main/java/org/caosdb/server/logging/log4j/CustomConfigurationFactory.java
similarity index 98%
rename from src/main/java/caosdb/server/logging/log4j/CustomConfigurationFactory.java
rename to src/main/java/org/caosdb/server/logging/log4j/CustomConfigurationFactory.java
index 6b7a456909074080f6e99670e1eed9b934653977..62722317f882dffae4168808514a6d972ae8bfe6 100644
--- a/src/main/java/caosdb/server/logging/log4j/CustomConfigurationFactory.java
+++ b/src/main/java/org/caosdb/server/logging/log4j/CustomConfigurationFactory.java
@@ -1,4 +1,4 @@
-package caosdb.server.logging.log4j;
+package org.caosdb.server.logging.log4j;
 
 import java.io.File;
 import java.net.URI;
diff --git a/src/main/java/caosdb/server/permissions/AbstractEntityACLFactory.java b/src/main/java/org/caosdb/server/permissions/AbstractEntityACLFactory.java
similarity index 99%
rename from src/main/java/caosdb/server/permissions/AbstractEntityACLFactory.java
rename to src/main/java/org/caosdb/server/permissions/AbstractEntityACLFactory.java
index 5d8174711c2dfd06798c5f5690b61540f55e5c56..3a3d03d18bc7b0913a522e2edd6c235f9a7d39a7 100644
--- a/src/main/java/caosdb/server/permissions/AbstractEntityACLFactory.java
+++ b/src/main/java/org/caosdb/server/permissions/AbstractEntityACLFactory.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/src/main/java/caosdb/server/permissions/CaosPermission.java b/src/main/java/org/caosdb/server/permissions/CaosPermission.java
similarity index 98%
rename from src/main/java/caosdb/server/permissions/CaosPermission.java
rename to src/main/java/org/caosdb/server/permissions/CaosPermission.java
index 71d5403848a44f02220d84237171e43a6406c492..73bc4d780043cbb6b61b68d033b2a039fcbd85f8 100644
--- a/src/main/java/caosdb/server/permissions/CaosPermission.java
+++ b/src/main/java/org/caosdb/server/permissions/CaosPermission.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.HashSet;
 import java.util.Map;
diff --git a/src/main/java/caosdb/server/permissions/EntityACI.java b/src/main/java/org/caosdb/server/permissions/EntityACI.java
similarity index 98%
rename from src/main/java/caosdb/server/permissions/EntityACI.java
rename to src/main/java/org/caosdb/server/permissions/EntityACI.java
index 4b960f49beedec9df2a15084ac77e9508670df0f..ccc889decafc941484432c99bf48908c21dff209 100644
--- a/src/main/java/caosdb/server/permissions/EntityACI.java
+++ b/src/main/java/org/caosdb/server/permissions/EntityACI.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.HashMap;
 
diff --git a/src/main/java/caosdb/server/permissions/EntityACL.java b/src/main/java/org/caosdb/server/permissions/EntityACL.java
similarity index 96%
rename from src/main/java/caosdb/server/permissions/EntityACL.java
rename to src/main/java/org/caosdb/server/permissions/EntityACL.java
index e0bfcf9243eb436f9af0d6a3bacfabb79984538c..df1915bd460079eb52dfc6d4f3bbf4fe42795918 100644
--- a/src/main/java/caosdb/server/permissions/EntityACL.java
+++ b/src/main/java/org/caosdb/server/permissions/EntityACL.java
@@ -20,16 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
-import static caosdb.server.permissions.Role.OTHER_ROLE;
-import static caosdb.server.permissions.Role.OWNER_ROLE;
+import static org.caosdb.server.permissions.Role.OTHER_ROLE;
+import static org.caosdb.server.permissions.Role.OWNER_ROLE;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.exceptions.TransactionException;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -41,6 +36,11 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.exceptions.TransactionException;
 import org.eclipse.jetty.util.ajax.JSON;
 import org.jdom2.DataConversionException;
 import org.jdom2.Document;
diff --git a/src/main/java/caosdb/server/permissions/EntityACLFactory.java b/src/main/java/org/caosdb/server/permissions/EntityACLFactory.java
similarity index 85%
rename from src/main/java/caosdb/server/permissions/EntityACLFactory.java
rename to src/main/java/org/caosdb/server/permissions/EntityACLFactory.java
index eeacb1260729f78f490e592891c0a93a334b42fa..08e4ae45cf07baac91b98205c1098d823b878b21 100644
--- a/src/main/java/caosdb/server/permissions/EntityACLFactory.java
+++ b/src/main/java/org/caosdb/server/permissions/EntityACLFactory.java
@@ -1,4 +1,4 @@
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.Collection;
 
diff --git a/src/main/java/caosdb/server/permissions/EntityPermission.java b/src/main/java/org/caosdb/server/permissions/EntityPermission.java
similarity index 98%
rename from src/main/java/caosdb/server/permissions/EntityPermission.java
rename to src/main/java/org/caosdb/server/permissions/EntityPermission.java
index 1747a55810cf9718abc9627cad8102f88b2a5cac..3a17db989196bfab516f8ea66654d1d6696f5150 100644
--- a/src/main/java/caosdb/server/permissions/EntityPermission.java
+++ b/src/main/java/org/caosdb/server/permissions/EntityPermission.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.entity.xml.ToElementable;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.entity.xml.ToElementable;
 import org.jdom2.Element;
 
 public class EntityPermission extends Permission {
diff --git a/src/main/java/caosdb/server/permissions/Permission.java b/src/main/java/org/caosdb/server/permissions/Permission.java
similarity index 97%
rename from src/main/java/caosdb/server/permissions/Permission.java
rename to src/main/java/org/caosdb/server/permissions/Permission.java
index e58329ee38e45c9bc053ca5cc60b258838116271..02c304199cc15063deb95bc2bfa105b9445a0890 100644
--- a/src/main/java/caosdb/server/permissions/Permission.java
+++ b/src/main/java/org/caosdb/server/permissions/Permission.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import org.apache.shiro.authz.permission.WildcardPermission;
 
diff --git a/src/main/java/caosdb/server/permissions/PermissionRule.java b/src/main/java/org/caosdb/server/permissions/PermissionRule.java
similarity index 98%
rename from src/main/java/caosdb/server/permissions/PermissionRule.java
rename to src/main/java/org/caosdb/server/permissions/PermissionRule.java
index bcbd3a27abb6781613f2afef450b2ce2eed24feb..b6ee915156771e1164f3a0ee221d3e14ab964833 100644
--- a/src/main/java/caosdb/server/permissions/PermissionRule.java
+++ b/src/main/java/org/caosdb/server/permissions/PermissionRule.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/src/main/java/caosdb/server/permissions/ResponsibleAgent.java b/src/main/java/org/caosdb/server/permissions/ResponsibleAgent.java
similarity index 96%
rename from src/main/java/caosdb/server/permissions/ResponsibleAgent.java
rename to src/main/java/org/caosdb/server/permissions/ResponsibleAgent.java
index b29675ecd16f6872e2aa03ba5e70c8e5699cd613..3f8fd3bbbe800b1ce43d240da53344512feb5e01 100644
--- a/src/main/java/caosdb/server/permissions/ResponsibleAgent.java
+++ b/src/main/java/org/caosdb/server/permissions/ResponsibleAgent.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.HashMap;
 import org.jdom2.Element;
diff --git a/src/main/java/caosdb/server/permissions/Role.java b/src/main/java/org/caosdb/server/permissions/Role.java
similarity index 98%
rename from src/main/java/caosdb/server/permissions/Role.java
rename to src/main/java/org/caosdb/server/permissions/Role.java
index 87b5d2474c4d2d3f13fd2787aaf5b11a1245a39c..54afefc664c330dfc4465285347a1463d9df0d5e 100644
--- a/src/main/java/caosdb/server/permissions/Role.java
+++ b/src/main/java/org/caosdb/server/permissions/Role.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.HashMap;
 import org.jdom2.Attribute;
diff --git a/src/main/java/caosdb/server/query/Backreference.java b/src/main/java/org/caosdb/server/query/Backreference.java
similarity index 96%
rename from src/main/java/caosdb/server/query/Backreference.java
rename to src/main/java/org/caosdb/server/query/Backreference.java
index c39ce43923372811caf8607550a9852d1a518c63..5f8105c823a231a14853e1db370649c7a7189649 100644
--- a/src/main/java/caosdb/server/query/Backreference.java
+++ b/src/main/java/org/caosdb/server/query/Backreference.java
@@ -20,15 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
 import static java.sql.Types.VARCHAR;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.query.Query.Pattern;
-import caosdb.server.query.Query.QueryException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
@@ -38,6 +34,10 @@ import java.sql.Types;
 import java.util.HashMap;
 import java.util.Map.Entry;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.query.Query.Pattern;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class Backreference implements EntityFilterInterface, QueryInterface {
diff --git a/src/main/java/caosdb/server/query/CQLLexer.g4 b/src/main/java/org/caosdb/server/query/CQLLexer.g4
similarity index 100%
rename from src/main/java/caosdb/server/query/CQLLexer.g4
rename to src/main/java/org/caosdb/server/query/CQLLexer.g4
diff --git a/src/main/java/caosdb/server/query/CQLParser.g4 b/src/main/java/org/caosdb/server/query/CQLParser.g4
similarity index 100%
rename from src/main/java/caosdb/server/query/CQLParser.g4
rename to src/main/java/org/caosdb/server/query/CQLParser.g4
diff --git a/src/main/java/caosdb/server/query/CQLParsingErrorListener.java b/src/main/java/org/caosdb/server/query/CQLParsingErrorListener.java
similarity index 99%
rename from src/main/java/caosdb/server/query/CQLParsingErrorListener.java
rename to src/main/java/org/caosdb/server/query/CQLParsingErrorListener.java
index 5dcec8eb2cd1772978aca87e3b630ee34d0e6812..c2b453e5836a18628904302f2157f0a41a190068 100644
--- a/src/main/java/caosdb/server/query/CQLParsingErrorListener.java
+++ b/src/main/java/org/caosdb/server/query/CQLParsingErrorListener.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
 import java.util.ArrayList;
 import java.util.BitSet;
diff --git a/src/main/java/caosdb/server/query/Conjunction.java b/src/main/java/org/caosdb/server/query/Conjunction.java
similarity index 95%
rename from src/main/java/caosdb/server/query/Conjunction.java
rename to src/main/java/org/caosdb/server/query/Conjunction.java
index 297f781bdc0de1ecf6de69ade12c25cba5efc8c9..a8fd9cd16296dfdf846bd81d2c25676537cd590c 100644
--- a/src/main/java/caosdb/server/query/Conjunction.java
+++ b/src/main/java/org/caosdb/server/query/Conjunction.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.query.Query.QueryException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class Conjunction extends EntityFilterContainer implements QueryInterface {
diff --git a/src/main/java/caosdb/server/query/Disjunction.java b/src/main/java/org/caosdb/server/query/Disjunction.java
similarity index 95%
rename from src/main/java/caosdb/server/query/Disjunction.java
rename to src/main/java/org/caosdb/server/query/Disjunction.java
index b9515c6b2ea263090ca224c8de3a625167666090..3bd2f32fdd3bfb64ad2a07c527b91136e965c22b 100644
--- a/src/main/java/caosdb/server/query/Disjunction.java
+++ b/src/main/java/org/caosdb/server/query/Disjunction.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.query.Query.QueryException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class Disjunction extends EntityFilterContainer implements QueryInterface {
diff --git a/src/main/java/caosdb/server/query/EntityFilterContainer.java b/src/main/java/org/caosdb/server/query/EntityFilterContainer.java
similarity index 97%
rename from src/main/java/caosdb/server/query/EntityFilterContainer.java
rename to src/main/java/org/caosdb/server/query/EntityFilterContainer.java
index 712ed7182cf681c6d4f0a465e94e0c6161b290e6..c2409f90ecc43cfb318a17cc8a9f3ba6df60beb0 100644
--- a/src/main/java/caosdb/server/query/EntityFilterContainer.java
+++ b/src/main/java/org/caosdb/server/query/EntityFilterContainer.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
 import java.util.LinkedList;
 
diff --git a/src/main/java/caosdb/server/query/EntityFilterInterface.java b/src/main/java/org/caosdb/server/query/EntityFilterInterface.java
similarity index 92%
rename from src/main/java/caosdb/server/query/EntityFilterInterface.java
rename to src/main/java/org/caosdb/server/query/EntityFilterInterface.java
index 813f3ef00e780128fcc457dd34895441b1700cb5..3bf113edbfa6aeb3bbe1c4ead7c2bbca0aca0d03 100644
--- a/src/main/java/caosdb/server/query/EntityFilterInterface.java
+++ b/src/main/java/org/caosdb/server/query/EntityFilterInterface.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import caosdb.server.query.Query.QueryException;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public interface EntityFilterInterface {
diff --git a/src/main/java/caosdb/server/query/IDFilter.java b/src/main/java/org/caosdb/server/query/IDFilter.java
similarity index 97%
rename from src/main/java/caosdb/server/query/IDFilter.java
rename to src/main/java/org/caosdb/server/query/IDFilter.java
index 556ba1c0ef64a73518cfea957c5ab5d1401a47eb..26054bb16f0eb39a581a4fa0da6c62a67c6fc385 100644
--- a/src/main/java/caosdb/server/query/IDFilter.java
+++ b/src/main/java/org/caosdb/server/query/IDFilter.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
 import static java.sql.Types.CHAR;
 import static java.sql.Types.INTEGER;
 import static java.sql.Types.VARCHAR;
 
-import caosdb.server.query.Query.QueryException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.SQLException;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class IDFilter implements EntityFilterInterface {
diff --git a/src/main/java/caosdb/server/query/Negation.java b/src/main/java/org/caosdb/server/query/Negation.java
similarity index 96%
rename from src/main/java/caosdb/server/query/Negation.java
rename to src/main/java/org/caosdb/server/query/Negation.java
index c54d4b8f931c4ba21622db7b35bdd00c33d86334..d4243580bf52511d05699c7c80e69015ea2a0dac 100644
--- a/src/main/java/caosdb/server/query/Negation.java
+++ b/src/main/java/org/caosdb/server/query/Negation.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.query.Query.QueryException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class Negation implements EntityFilterInterface, QueryInterface {
diff --git a/src/main/java/caosdb/server/query/POV.java b/src/main/java/org/caosdb/server/query/POV.java
similarity index 97%
rename from src/main/java/caosdb/server/query/POV.java
rename to src/main/java/org/caosdb/server/query/POV.java
index 924c1293bfea78ef15f1b6ab10e5d9d91a2a98cc..03b603d0df70d1159c1d78f1626e23faab40e033 100644
--- a/src/main/java/caosdb/server/query/POV.java
+++ b/src/main/java/org/caosdb/server/query/POV.java
@@ -20,20 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
 import static java.sql.Types.DOUBLE;
 import static java.sql.Types.INTEGER;
 import static java.sql.Types.VARCHAR;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.datetime.DateTimeFactory2;
-import caosdb.datetime.DateTimeInterface;
-import caosdb.datetime.Interval;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.query.Query.QueryException;
-import caosdb.unit.CaosDBSystemOfUnits;
-import caosdb.unit.Unit;
 import de.timmfitschen.easyunits.parser.ParserException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
@@ -46,6 +39,13 @@ import java.util.Map.Entry;
 import java.util.Stack;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.caosdb.datetime.DateTimeFactory2;
+import org.caosdb.datetime.DateTimeInterface;
+import org.caosdb.datetime.Interval;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.query.Query.QueryException;
+import org.caosdb.unit.CaosDBSystemOfUnits;
+import org.caosdb.unit.Unit;
 import org.jdom2.Element;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/caosdb/server/query/Query.java b/src/main/java/org/caosdb/server/query/Query.java
similarity index 94%
rename from src/main/java/caosdb/server/query/Query.java
rename to src/main/java/org/caosdb/server/query/Query.java
index a2d6e48767f5835bd9bf40ce65717bf9e8363f98..c111a3a9d7771a96ae781a6c1330c491bfe7c4dc 100644
--- a/src/main/java/caosdb/server/query/Query.java
+++ b/src/main/java/org/caosdb/server/query/Query.java
@@ -20,31 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.query;
-
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
-
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.database.backend.implementation.MySQL.MySQLHelper;
-import caosdb.server.database.backend.transaction.RetrieveSparseEntity;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.DBHelper;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.permissions.EntityACL;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.query.CQLParser.CqContext;
-import caosdb.server.query.CQLParsingErrorListener.ParsingError;
-import caosdb.server.transaction.TransactionInterface;
+package org.caosdb.server.query;
+
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
+
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
@@ -62,6 +41,27 @@ import java.util.Map.Entry;
 import org.antlr.v4.runtime.CharStreams;
 import org.antlr.v4.runtime.CommonTokenStream;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLHelper;
+import org.caosdb.server.database.backend.transaction.RetrieveSparseEntity;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.permissions.EntityACL;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.query.CQLParser.CqContext;
+import org.caosdb.server.query.CQLParsingErrorListener.ParsingError;
+import org.caosdb.server.transaction.TransactionInterface;
 import org.jdom2.Element;
 
 public class Query implements QueryInterface, ToElementable, TransactionInterface {
diff --git a/src/main/java/caosdb/server/query/QueryInterface.java b/src/main/java/org/caosdb/server/query/QueryInterface.java
similarity index 94%
rename from src/main/java/caosdb/server/query/QueryInterface.java
rename to src/main/java/org/caosdb/server/query/QueryInterface.java
index d42243ba2de45e7d369b733f6d1fbe26bce45fbd..32cc1c7d8d98b56f80b159fc3f0004a491773563 100644
--- a/src/main/java/caosdb/server/query/QueryInterface.java
+++ b/src/main/java/org/caosdb/server/query/QueryInterface.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import caosdb.server.database.access.Access;
 import java.sql.Connection;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.access.Access;
 
 public interface QueryInterface {
 
diff --git a/src/main/java/caosdb/server/query/RoleFilter.java b/src/main/java/org/caosdb/server/query/RoleFilter.java
similarity index 97%
rename from src/main/java/caosdb/server/query/RoleFilter.java
rename to src/main/java/org/caosdb/server/query/RoleFilter.java
index 97f73114a4bba08829046c81d77f964aee3ecaa9..9055dccb358dd94ec17dee8b26bac97d2170b016 100644
--- a/src/main/java/caosdb/server/query/RoleFilter.java
+++ b/src/main/java/org/caosdb/server/query/RoleFilter.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import caosdb.server.query.Query.QueryException;
-import caosdb.server.query.Query.Role;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.query.Query.QueryException;
+import org.caosdb.server.query.Query.Role;
 import org.jdom2.Element;
 
 public class RoleFilter implements EntityFilterInterface {
diff --git a/src/main/java/caosdb/server/query/StoredAt.java b/src/main/java/org/caosdb/server/query/StoredAt.java
similarity index 98%
rename from src/main/java/caosdb/server/query/StoredAt.java
rename to src/main/java/org/caosdb/server/query/StoredAt.java
index b16bb83f2f95c4da1f86292a7d0f17e73f8150d4..84a12d2c6b5b7ca3c3b0644eef4ea72a200cc328 100644
--- a/src/main/java/caosdb/server/query/StoredAt.java
+++ b/src/main/java/org/caosdb/server/query/StoredAt.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
 import static java.sql.Types.VARCHAR;
 
-import caosdb.server.query.Query.QueryException;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.sql.CallableStatement;
 import java.sql.SQLException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class StoredAt implements EntityFilterInterface {
diff --git a/src/main/java/caosdb/server/query/SubProperty.java b/src/main/java/org/caosdb/server/query/SubProperty.java
similarity index 95%
rename from src/main/java/caosdb/server/query/SubProperty.java
rename to src/main/java/org/caosdb/server/query/SubProperty.java
index 12629640ec4e7780c1b1d5933e7d6e1711f635f7..f8c22367c70f623903a3ee2f14a0af3cbbefd128 100644
--- a/src/main/java/caosdb/server/query/SubProperty.java
+++ b/src/main/java/org/caosdb/server/query/SubProperty.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
 import static java.sql.Types.VARCHAR;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.query.Query.QueryException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class SubProperty implements QueryInterface, EntityFilterInterface {
diff --git a/src/main/java/caosdb/server/query/TransactionFilter.java b/src/main/java/org/caosdb/server/query/TransactionFilter.java
similarity index 95%
rename from src/main/java/caosdb/server/query/TransactionFilter.java
rename to src/main/java/org/caosdb/server/query/TransactionFilter.java
index 3f4af80ee8eb2f484f23d1ace2f8f1a24e7909d6..55176594f5d17fdb726b82f37e5d3eb83944e611 100644
--- a/src/main/java/caosdb/server/query/TransactionFilter.java
+++ b/src/main/java/org/caosdb/server/query/TransactionFilter.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.query;
-
-import caosdb.datetime.Date;
-import caosdb.datetime.DateTimeFactory2;
-import caosdb.datetime.Interval;
-import caosdb.datetime.SemiCompleteDateTime;
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.query.Query.QueryException;
+package org.caosdb.server.query;
+
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.SQLException;
 import java.sql.Types;
+import org.caosdb.datetime.Date;
+import org.caosdb.datetime.DateTimeFactory2;
+import org.caosdb.datetime.Interval;
+import org.caosdb.datetime.SemiCompleteDateTime;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class TransactionFilter implements EntityFilterInterface {
diff --git a/src/main/java/caosdb/server/query/Utils.java b/src/main/java/org/caosdb/server/query/Utils.java
similarity index 98%
rename from src/main/java/caosdb/server/query/Utils.java
rename to src/main/java/org/caosdb/server/query/Utils.java
index 5c1c74345f989958053ca069dd4d206a3429e5d2..661cee12585d8f4b07ca3a9fea364943aa1d9c6b 100644
--- a/src/main/java/caosdb/server/query/Utils.java
+++ b/src/main/java/org/caosdb/server/query/Utils.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
 import java.io.PrintStream;
 import java.sql.Connection;
diff --git a/src/main/java/caosdb/server/resource/AbstractCaosDBServerResource.java b/src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java
similarity index 97%
rename from src/main/java/caosdb/server/resource/AbstractCaosDBServerResource.java
rename to src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java
index 97488a6ba2a7984d66bb94332b4d7df0f9478cfb..1460eecde3283f0aab3f4e473ff35cd4d1096b54 100644
--- a/src/main/java/caosdb/server/resource/AbstractCaosDBServerResource.java
+++ b/src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java
@@ -22,17 +22,10 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import static java.net.URLDecoder.decode;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.WebinterfaceUtils;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
@@ -48,6 +41,13 @@ import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authz.AuthorizationException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.WebinterfaceUtils;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/AuthenticationResource.java b/src/main/java/org/caosdb/server/resource/AuthenticationResource.java
similarity index 90%
rename from src/main/java/caosdb/server/resource/AuthenticationResource.java
rename to src/main/java/org/caosdb/server/resource/AuthenticationResource.java
index d3b49580cf1a86347398ef7d36f6021f710e7da3..ed60d7906b1cda003ed2a84f0e22200049d96c25 100644
--- a/src/main/java/caosdb/server/resource/AuthenticationResource.java
+++ b/src/main/java/org/caosdb/server/resource/AuthenticationResource.java
@@ -20,16 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.RealmUsernamePasswordToken;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.resource;
+
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
@@ -39,6 +31,14 @@ import org.apache.shiro.authc.AccountException;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authc.CredentialsException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.RealmUsernamePasswordToken;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/DefaultResource.java b/src/main/java/org/caosdb/server/resource/DefaultResource.java
similarity index 91%
rename from src/main/java/caosdb/server/resource/DefaultResource.java
rename to src/main/java/org/caosdb/server/resource/DefaultResource.java
index e26171f04fa24cea607288c2ee37ba713d47234f..488cd667c8832e4b90277e07144c65cbb7e4036d 100644
--- a/src/main/java/caosdb/server/resource/DefaultResource.java
+++ b/src/main/java/org/caosdb/server/resource/DefaultResource.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.restlet.representation.Representation;
diff --git a/src/main/java/caosdb/server/resource/EntityOwnerResource.java b/src/main/java/org/caosdb/server/resource/EntityOwnerResource.java
similarity index 79%
rename from src/main/java/caosdb/server/resource/EntityOwnerResource.java
rename to src/main/java/org/caosdb/server/resource/EntityOwnerResource.java
index 5841eeb541be111720379008c5144ef82c6b9a01..f20a4ab042bd996ef7e7d004e9246935cf034b64 100644
--- a/src/main/java/caosdb/server/resource/EntityOwnerResource.java
+++ b/src/main/java/org/caosdb/server/resource/EntityOwnerResource.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.resource.transaction.EntityResource;
-import caosdb.server.resource.transaction.handlers.RequestHandler;
-import caosdb.server.resource.transaction.handlers.RetriveOwnerRequestHandler;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.resource.transaction.handlers.RequestHandler;
+import org.caosdb.server.resource.transaction.handlers.RetriveOwnerRequestHandler;
 
 public class EntityOwnerResource extends EntityResource {
 
diff --git a/src/main/java/caosdb/server/resource/EntityPermissionsResource.java b/src/main/java/org/caosdb/server/resource/EntityPermissionsResource.java
similarity index 78%
rename from src/main/java/caosdb/server/resource/EntityPermissionsResource.java
rename to src/main/java/org/caosdb/server/resource/EntityPermissionsResource.java
index b29d6c5eab1a21e8e86a56fbc3c806c97c426769..ffce6fe18378ec2586276cd69124cfaeaf8f29fc 100644
--- a/src/main/java/caosdb/server/resource/EntityPermissionsResource.java
+++ b/src/main/java/org/caosdb/server/resource/EntityPermissionsResource.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.resource.transaction.EntityResource;
-import caosdb.server.resource.transaction.handlers.RequestHandler;
-import caosdb.server.resource.transaction.handlers.RetrieveGlobalEntityPermissionsHandler;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.resource.transaction.handlers.RequestHandler;
+import org.caosdb.server.resource.transaction.handlers.RetrieveGlobalEntityPermissionsHandler;
 
 public class EntityPermissionsResource extends EntityResource {
 
diff --git a/src/main/java/caosdb/server/resource/FileSystemResource.java b/src/main/java/org/caosdb/server/resource/FileSystemResource.java
similarity index 89%
rename from src/main/java/caosdb/server/resource/FileSystemResource.java
rename to src/main/java/org/caosdb/server/resource/FileSystemResource.java
index ef352e19eb178c5cefbdbd70d2e48b3231ac7bd7..f09f97eab5fbb1ea49930bc8cae227cb2b5fba05 100644
--- a/src/main/java/caosdb/server/resource/FileSystemResource.java
+++ b/src/main/java/org/caosdb/server/resource/FileSystemResource.java
@@ -20,27 +20,27 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import static caosdb.server.FileSystem.getFromFileSystem;
 import static java.net.URLDecoder.decode;
+import static org.caosdb.server.FileSystem.getFromFileSystem;
 
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.transaction.RetrieveSparseEntityByPath;
-import caosdb.server.transaction.Transaction;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.ServerMessages;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.transaction.RetrieveSparseEntityByPath;
+import org.caosdb.server.transaction.Transaction;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Attribute;
 import org.jdom2.Document;
 import org.jdom2.Element;
diff --git a/src/main/java/caosdb/server/resource/InfoResource.java b/src/main/java/org/caosdb/server/resource/InfoResource.java
similarity index 88%
rename from src/main/java/caosdb/server/resource/InfoResource.java
rename to src/main/java/org/caosdb/server/resource/InfoResource.java
index 4beb9757cff83696a546eb174fbb0f21453029b7..25e8842b40df2d64c3dd628116ad958eb45bdb11 100644
--- a/src/main/java/caosdb/server/resource/InfoResource.java
+++ b/src/main/java/org/caosdb/server/resource/InfoResource.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.datetime.UTCTimeZoneShift;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.utils.FlagInfo;
-import caosdb.server.utils.Info;
 import java.util.TimeZone;
+import org.caosdb.datetime.UTCTimeZoneShift;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.utils.FlagInfo;
+import org.caosdb.server.utils.Info;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/JdomRepresentation.java b/src/main/java/org/caosdb/server/resource/JdomRepresentation.java
similarity index 97%
rename from src/main/java/caosdb/server/resource/JdomRepresentation.java
rename to src/main/java/org/caosdb/server/resource/JdomRepresentation.java
index 04fbdac3fdd13f9e5c4f025cb2364386deac71f0..1af634b0ae784ccaf4aff4aac399771cb4774f60 100644
--- a/src/main/java/caosdb/server/resource/JdomRepresentation.java
+++ b/src/main/java/org/caosdb/server/resource/JdomRepresentation.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.Writer;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 import org.jdom2.Document;
 import org.jdom2.ProcessingInstruction;
 import org.jdom2.output.Format;
diff --git a/src/main/java/caosdb/server/resource/LogoutResource.java b/src/main/java/org/caosdb/server/resource/LogoutResource.java
similarity index 89%
rename from src/main/java/caosdb/server/resource/LogoutResource.java
rename to src/main/java/org/caosdb/server/resource/LogoutResource.java
index 79489413d163d38c669f2cb7f04c5d437b2f11c5..1659f751a4710fbf99fc473b586cc3b180c8a62c 100644
--- a/src/main/java/caosdb/server/resource/LogoutResource.java
+++ b/src/main/java/org/caosdb/server/resource/LogoutResource.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import org.restlet.representation.Representation;
 
 public class LogoutResource extends AuthenticationResource {
diff --git a/src/main/java/caosdb/server/resource/PermissionRulesResource.java b/src/main/java/org/caosdb/server/resource/PermissionRulesResource.java
similarity index 86%
rename from src/main/java/caosdb/server/resource/PermissionRulesResource.java
rename to src/main/java/org/caosdb/server/resource/PermissionRulesResource.java
index dba1797a03287c503e5898c7e9a7dde6c389630c..8d2aa1720aaefcdbaccee18c6a1626a912319b6a 100644
--- a/src/main/java/caosdb/server/resource/PermissionRulesResource.java
+++ b/src/main/java/org/caosdb/server/resource/PermissionRulesResource.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.Message;
-import caosdb.server.permissions.PermissionRule;
-import caosdb.server.transaction.RetrievePermissionRulesTransaction;
-import caosdb.server.transaction.UpdatePermissionRulesTransaction;
-import caosdb.server.utils.ServerMessages;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
 import java.util.HashSet;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.permissions.PermissionRule;
+import org.caosdb.server.transaction.RetrievePermissionRulesTransaction;
+import org.caosdb.server.transaction.UpdatePermissionRulesTransaction;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.restlet.data.Status;
diff --git a/src/main/java/caosdb/server/resource/ReReadableRepresentation.java b/src/main/java/org/caosdb/server/resource/ReReadableRepresentation.java
similarity index 99%
rename from src/main/java/caosdb/server/resource/ReReadableRepresentation.java
rename to src/main/java/org/caosdb/server/resource/ReReadableRepresentation.java
index df5f7e55b0734877ad6f32dbc553d2a570685a34..3620eef2167073f479c9df63c415e01857db3ea1 100644
--- a/src/main/java/caosdb/server/resource/ReReadableRepresentation.java
+++ b/src/main/java/org/caosdb/server/resource/ReReadableRepresentation.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import com.google.common.base.Charsets;
 import java.io.IOException;
diff --git a/src/main/java/caosdb/server/resource/RolesResource.java b/src/main/java/org/caosdb/server/resource/RolesResource.java
similarity index 89%
rename from src/main/java/caosdb/server/resource/RolesResource.java
rename to src/main/java/org/caosdb/server/resource/RolesResource.java
index 0f1b01e3230cf3e73f1c20949f38e180bd8f7e3b..a89a731950d09a7edbce0a5f67a3e81287c07b2a 100644
--- a/src/main/java/caosdb/server/resource/RolesResource.java
+++ b/src/main/java/org/caosdb/server/resource/RolesResource.java
@@ -20,21 +20,21 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.Message;
-import caosdb.server.transaction.DeleteRoleTransaction;
-import caosdb.server.transaction.InsertRoleTransaction;
-import caosdb.server.transaction.RetrieveRoleTransaction;
-import caosdb.server.transaction.UpdateRoleTransaction;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.resource;
+
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.transaction.DeleteRoleTransaction;
+import org.caosdb.server.transaction.InsertRoleTransaction;
+import org.caosdb.server.transaction.RetrieveRoleTransaction;
+import org.caosdb.server.transaction.UpdateRoleTransaction;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/ScriptingResource.java b/src/main/java/org/caosdb/server/resource/ScriptingResource.java
similarity index 92%
rename from src/main/java/caosdb/server/resource/ScriptingResource.java
rename to src/main/java/org/caosdb/server/resource/ScriptingResource.java
index cb652b862282e2cf804ae4cbffd3b6f9de9d109f..35885bb4376b26fc04977389f4dbf1cd7c40decd 100644
--- a/src/main/java/caosdb/server/resource/ScriptingResource.java
+++ b/src/main/java/org/caosdb/server/resource/ScriptingResource.java
@@ -22,20 +22,8 @@
  * ** end header
  */
 
-package caosdb.server.resource;
-
-import caosdb.server.FileSystem;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.OneTimeAuthenticationToken;
-import caosdb.server.accessControl.SessionToken;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.scripting.CallerSerializer;
-import caosdb.server.scripting.ScriptingPermissions;
-import caosdb.server.scripting.ServerSideScriptingCaller;
-import caosdb.server.utils.Serializer;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.Utils;
+package org.caosdb.server.resource;
+
 import com.ibm.icu.text.Collator;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
@@ -50,6 +38,18 @@ import org.apache.commons.fileupload.FileItemStream;
 import org.apache.commons.fileupload.FileUploadException;
 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.OneTimeAuthenticationToken;
+import org.caosdb.server.accessControl.SessionToken;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.scripting.CallerSerializer;
+import org.caosdb.server.scripting.ScriptingPermissions;
+import org.caosdb.server.scripting.ServerSideScriptingCaller;
+import org.caosdb.server.utils.Serializer;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.Utils;
 import org.jdom2.Element;
 import org.restlet.data.CharacterSet;
 import org.restlet.data.Form;
diff --git a/src/main/java/caosdb/server/resource/ServerLogsResource.java b/src/main/java/org/caosdb/server/resource/ServerLogsResource.java
similarity index 91%
rename from src/main/java/caosdb/server/resource/ServerLogsResource.java
rename to src/main/java/org/caosdb/server/resource/ServerLogsResource.java
index b63de6e0f7fd0d95dd315db47fe6a6c88833f648..f304f10062209d62855a0bff21e0c8cad54e1962 100644
--- a/src/main/java/caosdb/server/resource/ServerLogsResource.java
+++ b/src/main/java/org/caosdb/server/resource/ServerLogsResource.java
@@ -20,11 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.transaction.RetrieveLogRecordTransaction;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
@@ -32,6 +29,9 @@ import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
 import java.util.logging.XMLFormatter;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.transaction.RetrieveLogRecordTransaction;
 import org.restlet.data.Form;
 import org.restlet.data.MediaType;
 import org.restlet.representation.Representation;
diff --git a/src/main/java/caosdb/server/resource/ServerPropertiesResource.java b/src/main/java/org/caosdb/server/resource/ServerPropertiesResource.java
similarity index 87%
rename from src/main/java/caosdb/server/resource/ServerPropertiesResource.java
rename to src/main/java/org/caosdb/server/resource/ServerPropertiesResource.java
index 347919d9c7d0f604734790f2ea09b5e2bac54042..5b4e83162ab2e2a701a8497eeb85225def94cff1 100644
--- a/src/main/java/caosdb/server/resource/ServerPropertiesResource.java
+++ b/src/main/java/org/caosdb/server/resource/ServerPropertiesResource.java
@@ -1,8 +1,8 @@
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerPropertiesSerializer;
-import caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerPropertiesSerializer;
+import org.caosdb.server.accessControl.ACMPermissions;
 import org.restlet.data.Form;
 import org.restlet.data.Parameter;
 import org.restlet.data.Status;
diff --git a/src/main/java/caosdb/server/resource/SharedFileResource.java b/src/main/java/org/caosdb/server/resource/SharedFileResource.java
similarity index 92%
rename from src/main/java/caosdb/server/resource/SharedFileResource.java
rename to src/main/java/org/caosdb/server/resource/SharedFileResource.java
index 71cf089ddc4246196b8299502b1f15969183f372..971dff6901e771cce13dac87d1d0a1ac30dde83e 100644
--- a/src/main/java/caosdb/server/resource/SharedFileResource.java
+++ b/src/main/java/org/caosdb/server/resource/SharedFileResource.java
@@ -22,16 +22,16 @@
  * ** end header
  */
 
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import static java.net.URLDecoder.decode;
 
-import caosdb.server.FileSystem;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.ServerMessages;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.JDOMException;
 import org.restlet.data.Disposition;
 import org.restlet.data.MediaType;
diff --git a/src/main/java/caosdb/server/resource/ThumbnailsResource.java b/src/main/java/org/caosdb/server/resource/ThumbnailsResource.java
similarity index 93%
rename from src/main/java/caosdb/server/resource/ThumbnailsResource.java
rename to src/main/java/org/caosdb/server/resource/ThumbnailsResource.java
index e08378c5a4e766f8f84d9d383207e461868bc422..c74251a1c31b2b3ec13bb72618b9c53d222e0cdf 100644
--- a/src/main/java/caosdb/server/resource/ThumbnailsResource.java
+++ b/src/main/java/org/caosdb/server/resource/ThumbnailsResource.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import static caosdb.server.FileSystem.getFromFileSystem;
+import static org.caosdb.server.FileSystem.getFromFileSystem;
 
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.utils.ServerMessages;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.JDOMException;
 import org.restlet.data.Disposition;
 import org.restlet.data.MediaType;
diff --git a/src/main/java/caosdb/server/resource/UserResource.java b/src/main/java/org/caosdb/server/resource/UserResource.java
similarity index 90%
rename from src/main/java/caosdb/server/resource/UserResource.java
rename to src/main/java/org/caosdb/server/resource/UserResource.java
index 7dc9111ee332421fd27d1c32632cc458cbf6c800..8ac0df1d8f8f018a07251e35a118ae944224dcc3 100644
--- a/src/main/java/caosdb/server/resource/UserResource.java
+++ b/src/main/java/org/caosdb/server/resource/UserResource.java
@@ -20,24 +20,24 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.accessControl.UserStatus;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.Message;
-import caosdb.server.transaction.DeleteUserTransaction;
-import caosdb.server.transaction.InsertUserTransaction;
-import caosdb.server.transaction.RetrieveUserTransaction;
-import caosdb.server.transaction.UpdateUserTransaction;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.resource;
+
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.accessControl.UserStatus;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.transaction.DeleteUserTransaction;
+import org.caosdb.server.transaction.InsertUserTransaction;
+import org.caosdb.server.transaction.RetrieveUserTransaction;
+import org.caosdb.server.transaction.UpdateUserTransaction;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/UserRolesResource.java b/src/main/java/org/caosdb/server/resource/UserRolesResource.java
similarity index 88%
rename from src/main/java/caosdb/server/resource/UserRolesResource.java
rename to src/main/java/org/caosdb/server/resource/UserRolesResource.java
index 46d51ca4d60bec89b584cefc362e54ab37063503..4eb7f6143038bb6e4b0c3fda4646e2730acfea04 100644
--- a/src/main/java/caosdb/server/resource/UserRolesResource.java
+++ b/src/main/java/org/caosdb/server/resource/UserRolesResource.java
@@ -20,21 +20,21 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.Message;
-import caosdb.server.transaction.RetrieveUserRolesTransaction;
-import caosdb.server.transaction.UpdateUserRolesTransaction;
-import caosdb.server.utils.ServerMessages;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
 import java.util.HashSet;
 import java.util.List;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.transaction.RetrieveUserRolesTransaction;
+import org.caosdb.server.transaction.UpdateUserRolesTransaction;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/Webinterface.java b/src/main/java/org/caosdb/server/resource/Webinterface.java
similarity index 95%
rename from src/main/java/caosdb/server/resource/Webinterface.java
rename to src/main/java/org/caosdb/server/resource/Webinterface.java
index f05ae4e6b9a98aba1c925677e0fc8e90a74e57e6..bba1fb09c7f2c0a14b95b7314832b6ff174cef6b 100644
--- a/src/main/java/caosdb/server/resource/Webinterface.java
+++ b/src/main/java/org/caosdb/server/resource/Webinterface.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.utils.WebinterfaceUtils;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.utils.WebinterfaceUtils;
 import org.restlet.data.CacheDirective;
 import org.restlet.data.Header;
 import org.restlet.data.MediaType;
diff --git a/src/main/java/caosdb/server/resource/WebinterfaceBuildNumber.java b/src/main/java/org/caosdb/server/resource/WebinterfaceBuildNumber.java
similarity index 96%
rename from src/main/java/caosdb/server/resource/WebinterfaceBuildNumber.java
rename to src/main/java/org/caosdb/server/resource/WebinterfaceBuildNumber.java
index bb0e47f40164a7480a547b74cda33c83d375fb76..0fe186a0426002071e0b6c6a5ebe0b3f234e9b2a 100644
--- a/src/main/java/caosdb/server/resource/WebinterfaceBuildNumber.java
+++ b/src/main/java/org/caosdb/server/resource/WebinterfaceBuildNumber.java
@@ -16,9 +16,9 @@
  *
  * <p>** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.utils.WebinterfaceUtils;
+import org.caosdb.server.utils.WebinterfaceUtils;
 import org.restlet.data.Status;
 import org.restlet.resource.Get;
 import org.restlet.resource.ResourceException;
diff --git a/src/main/java/caosdb/server/resource/transaction/EntityNamesResource.java b/src/main/java/org/caosdb/server/resource/transaction/EntityNamesResource.java
similarity index 53%
rename from src/main/java/caosdb/server/resource/transaction/EntityNamesResource.java
rename to src/main/java/org/caosdb/server/resource/transaction/EntityNamesResource.java
index 2bfca90bf8e0c060caf7ca97b85ceaf7d0d35f5c..0b3f8b7aa4f4a7724b9b6646e7ecb72330293980 100644
--- a/src/main/java/caosdb/server/resource/transaction/EntityNamesResource.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/EntityNamesResource.java
@@ -1,8 +1,8 @@
-package caosdb.server.resource.transaction;
+package org.caosdb.server.resource.transaction;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.resource.transaction.handlers.GetNamesRequestHandler;
-import caosdb.server.resource.transaction.handlers.RequestHandler;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.resource.transaction.handlers.GetNamesRequestHandler;
+import org.caosdb.server.resource.transaction.handlers.RequestHandler;
 
 public class EntityNamesResource extends EntityResource {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/EntityResource.java b/src/main/java/org/caosdb/server/resource/transaction/EntityResource.java
similarity index 85%
rename from src/main/java/caosdb/server/resource/transaction/EntityResource.java
rename to src/main/java/org/caosdb/server/resource/transaction/EntityResource.java
index 70e7bdf73adbf5e950fe0a51e119a8dbbe2e054f..12659362e0a9a82e8cbb95e73e4d6ac6c2d27c6c 100644
--- a/src/main/java/caosdb/server/resource/transaction/EntityResource.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/EntityResource.java
@@ -20,27 +20,27 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.container.DeleteContainer;
-import caosdb.server.entity.container.InsertContainer;
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.entity.container.UpdateContainer;
-import caosdb.server.resource.AbstractCaosDBServerResource;
-import caosdb.server.resource.transaction.handlers.FileUploadHandler;
-import caosdb.server.resource.transaction.handlers.RequestHandler;
-import caosdb.server.resource.transaction.handlers.SimpleDeleteRequestHandler;
-import caosdb.server.resource.transaction.handlers.SimpleGetRequestHandler;
-import caosdb.server.resource.transaction.handlers.SimpleWriteHandler;
-import caosdb.server.transaction.Delete;
-import caosdb.server.transaction.Insert;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.transaction.Update;
+package org.caosdb.server.resource.transaction;
+
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.container.DeleteContainer;
+import org.caosdb.server.entity.container.InsertContainer;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.entity.container.UpdateContainer;
+import org.caosdb.server.resource.AbstractCaosDBServerResource;
+import org.caosdb.server.resource.transaction.handlers.FileUploadHandler;
+import org.caosdb.server.resource.transaction.handlers.RequestHandler;
+import org.caosdb.server.resource.transaction.handlers.SimpleDeleteRequestHandler;
+import org.caosdb.server.resource.transaction.handlers.SimpleGetRequestHandler;
+import org.caosdb.server.resource.transaction.handlers.SimpleWriteHandler;
+import org.caosdb.server.transaction.Delete;
+import org.caosdb.server.transaction.Insert;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.transaction.Update;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/FileUploadHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/FileUploadHandler.java
similarity index 90%
rename from src/main/java/caosdb/server/resource/transaction/handlers/FileUploadHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/FileUploadHandler.java
index 48003f1525f006960cf155591bc14d9d684c1888..ec5c5bc4d144af9ce99f7b27915a52420c331bb5 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/FileUploadHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/FileUploadHandler.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.FileSystem;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.container.WritableContainer;
-import caosdb.server.resource.transaction.EntityResource;
-import caosdb.server.utils.ServerMessages;
 import java.io.IOException;
 import org.apache.commons.fileupload.FileItemIterator;
 import org.apache.commons.fileupload.FileItemStream;
 import org.apache.commons.fileupload.FileUploadException;
 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.container.WritableContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 import org.restlet.data.MediaType;
 import org.restlet.ext.fileupload.RestletFileUpload;
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/GetNamesRequestHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/GetNamesRequestHandler.java
similarity index 64%
rename from src/main/java/caosdb/server/resource/transaction/handlers/GetNamesRequestHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/GetNamesRequestHandler.java
index f69c112880e833d0c981b903562889e377fe6f23..c327c6833d281c07148c59be689ddfac25b33f4d 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/GetNamesRequestHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/GetNamesRequestHandler.java
@@ -1,7 +1,7 @@
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
 
 public class GetNamesRequestHandler extends RequestHandler<RetrieveContainer> {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/RequestHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/RequestHandler.java
similarity index 85%
rename from src/main/java/caosdb/server/resource/transaction/handlers/RequestHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/RequestHandler.java
index e1390fe81782b353ccf2e401a9918747c6084ab3..fc49cc518db12e1f750716372f94b808dcb3874b 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/RequestHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/RequestHandler.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
 
 public abstract class RequestHandler<T extends TransactionContainer> {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java
similarity index 83%
rename from src/main/java/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java
index a1882857801659449516992b4a4cca34d643379c..6801e804a8bcb721e2c7170ad857126579cbfb46 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.resource.transaction.EntityResource;
 
 public class RetrieveGlobalEntityPermissionsHandler extends SimpleGetRequestHandler {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/RetriveOwnerRequestHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/RetriveOwnerRequestHandler.java
similarity index 84%
rename from src/main/java/caosdb/server/resource/transaction/handlers/RetriveOwnerRequestHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/RetriveOwnerRequestHandler.java
index d942389a359b2c24eafc6ec4a98b230cbe33f226..7b2d698cb4673ba7e4ed30fc81fc249e89632734 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/RetriveOwnerRequestHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/RetriveOwnerRequestHandler.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
 
 public class RetriveOwnerRequestHandler extends SimpleGetRequestHandler {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleDeleteRequestHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleDeleteRequestHandler.java
similarity index 91%
rename from src/main/java/caosdb/server/resource/transaction/handlers/SimpleDeleteRequestHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleDeleteRequestHandler.java
index 7fb416451bd8f053df5231eb1002db0c03544f99..34c1a3836290f4e90fde5a1ec10a2818b7b63fae 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleDeleteRequestHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleDeleteRequestHandler.java
@@ -22,10 +22,10 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.container.DeleteContainer;
-import caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.entity.container.DeleteContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
 
 public class SimpleDeleteRequestHandler extends RequestHandler<DeleteContainer> {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java
similarity index 89%
rename from src/main/java/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java
index 18c89d46966a3e22b1a9066b84dcf2d05efd122c..b80d9c219e2cbda1e012c9c73993b5ea427c6ccf 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
 
 public class SimpleGetRequestHandler extends RequestHandler<RetrieveContainer> {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleWriteHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleWriteHandler.java
similarity index 91%
rename from src/main/java/caosdb/server/resource/transaction/handlers/SimpleWriteHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleWriteHandler.java
index 71afcc91321f8d9853cd18ae3ca12022501416ff..feb784da2f1ab9dcc09942a108bcce6bd073e128 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleWriteHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleWriteHandler.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.container.WritableContainer;
-import caosdb.server.resource.transaction.EntityResource;
 import java.util.List;
+import org.caosdb.server.entity.container.WritableContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
 import org.jdom2.Element;
 
 public class SimpleWriteHandler<T extends WritableContainer> extends RequestHandler<T> {
diff --git a/src/main/java/caosdb/server/scripting/CallerSerializer.java b/src/main/java/org/caosdb/server/scripting/CallerSerializer.java
similarity index 95%
rename from src/main/java/caosdb/server/scripting/CallerSerializer.java
rename to src/main/java/org/caosdb/server/scripting/CallerSerializer.java
index 3ffb941d9d4fe40a48b849c1de44b8349645d62f..b133ad5cf02afa0194beb175883b999e75810efe 100644
--- a/src/main/java/caosdb/server/scripting/CallerSerializer.java
+++ b/src/main/java/org/caosdb/server/scripting/CallerSerializer.java
@@ -21,11 +21,11 @@
  *
  * ** end header
  */
-package caosdb.server.scripting;
+package org.caosdb.server.scripting;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.utils.Serializer;
 import java.io.IOException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.utils.Serializer;
 import org.jdom2.Element;
 
 /**
diff --git a/src/main/java/caosdb/server/scripting/ScriptingPermissions.java b/src/main/java/org/caosdb/server/scripting/ScriptingPermissions.java
similarity index 88%
rename from src/main/java/caosdb/server/scripting/ScriptingPermissions.java
rename to src/main/java/org/caosdb/server/scripting/ScriptingPermissions.java
index 9165f133c070c351e7a4ecbb2c510c06b71734a2..78ad99d77d06b681838e455ad391c62e7ce85ca6 100644
--- a/src/main/java/caosdb/server/scripting/ScriptingPermissions.java
+++ b/src/main/java/org/caosdb/server/scripting/ScriptingPermissions.java
@@ -1,4 +1,4 @@
-package caosdb.server.scripting;
+package org.caosdb.server.scripting;
 
 public class ScriptingPermissions {
 
diff --git a/src/main/java/caosdb/server/scripting/ScriptingUtils.java b/src/main/java/org/caosdb/server/scripting/ScriptingUtils.java
similarity index 90%
rename from src/main/java/caosdb/server/scripting/ScriptingUtils.java
rename to src/main/java/org/caosdb/server/scripting/ScriptingUtils.java
index cee65faf9b25d3b9bfe0b28cc508edf59626682c..5bb9498944f02c3cc2bd79429dab10868299200f 100644
--- a/src/main/java/caosdb/server/scripting/ScriptingUtils.java
+++ b/src/main/java/org/caosdb/server/scripting/ScriptingUtils.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.scripting;
+package org.caosdb.server.scripting;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ConfigurationException;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.Utils;
 import java.io.File;
 import java.nio.file.Path;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ConfigurationException;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.Utils;
 
 public class ScriptingUtils {
 
diff --git a/src/main/java/caosdb/server/scripting/ServerSideScriptingCaller.java b/src/main/java/org/caosdb/server/scripting/ServerSideScriptingCaller.java
similarity index 95%
rename from src/main/java/caosdb/server/scripting/ServerSideScriptingCaller.java
rename to src/main/java/org/caosdb/server/scripting/ServerSideScriptingCaller.java
index faeb96e02738395647abb75fca3eaafe18040ad3..2ec19a426fdd5a7f0cb6438b86f73a3dc93f55cd 100644
--- a/src/main/java/caosdb/server/scripting/ServerSideScriptingCaller.java
+++ b/src/main/java/org/caosdb/server/scripting/ServerSideScriptingCaller.java
@@ -22,15 +22,8 @@
  * ** end header
  */
 
-package caosdb.server.scripting;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.ServerProperties;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.scripting;
+
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -41,6 +34,13 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import org.apache.commons.io.FileUtils;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Calls server-side scripting scripts.
@@ -170,7 +170,7 @@ public class ServerSideScriptingCaller {
       if (!link.getParentFile().exists()) {
         link.getParentFile().mkdirs();
       }
-      caosdb.server.utils.FileUtils.createSymlink(link, f.getFile());
+      org.caosdb.server.utils.FileUtils.createSymlink(link, f.getFile());
     }
   }
 
diff --git a/src/main/java/caosdb/server/scripting/TimeoutException.java b/src/main/java/org/caosdb/server/scripting/TimeoutException.java
similarity index 96%
rename from src/main/java/caosdb/server/scripting/TimeoutException.java
rename to src/main/java/org/caosdb/server/scripting/TimeoutException.java
index 655cb6a7782c29a894607db0373a4baa7b98611e..3eaa370893bc5baf9e643c7411f467e0421d277a 100644
--- a/src/main/java/caosdb/server/scripting/TimeoutException.java
+++ b/src/main/java/org/caosdb/server/scripting/TimeoutException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.scripting;
+package org.caosdb.server.scripting;
 
 public class TimeoutException extends Exception {
 
diff --git a/src/main/java/caosdb/server/scripting/TimeoutProcess.java b/src/main/java/org/caosdb/server/scripting/TimeoutProcess.java
similarity index 98%
rename from src/main/java/caosdb/server/scripting/TimeoutProcess.java
rename to src/main/java/org/caosdb/server/scripting/TimeoutProcess.java
index f41a2663c6aae169b0ce28d4e14ab43135653237..c867ca3b7f0190b1cd5d6b6be4f595be10d2891a 100644
--- a/src/main/java/caosdb/server/scripting/TimeoutProcess.java
+++ b/src/main/java/org/caosdb/server/scripting/TimeoutProcess.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.scripting;
+package org.caosdb.server.scripting;
 
 import java.io.InputStream;
 
diff --git a/src/main/java/caosdb/server/terminal/CaosDBTerminal.java b/src/main/java/org/caosdb/server/terminal/CaosDBTerminal.java
similarity index 98%
rename from src/main/java/caosdb/server/terminal/CaosDBTerminal.java
rename to src/main/java/org/caosdb/server/terminal/CaosDBTerminal.java
index c85495539d93d67af26b1b1ef4b62a35dd57ff48..96bd6315b7e32c03273a8b65bd489bfc061e0ef1 100644
--- a/src/main/java/caosdb/server/terminal/CaosDBTerminal.java
+++ b/src/main/java/org/caosdb/server/terminal/CaosDBTerminal.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.TerminalFacade;
 import com.googlecode.lanterna.gui.GUIScreen;
diff --git a/src/main/java/caosdb/server/terminal/DatabaseAccessPanel.java b/src/main/java/org/caosdb/server/terminal/DatabaseAccessPanel.java
similarity index 94%
rename from src/main/java/caosdb/server/terminal/DatabaseAccessPanel.java
rename to src/main/java/org/caosdb/server/terminal/DatabaseAccessPanel.java
index 49a6e35de195d3d5ae78821db4cfe5e6f4aa283d..6877049605888682bd003f8382a931661e79602c 100644
--- a/src/main/java/caosdb/server/terminal/DatabaseAccessPanel.java
+++ b/src/main/java/org/caosdb/server/terminal/DatabaseAccessPanel.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
 import com.googlecode.lanterna.gui.component.Label;
 import com.googlecode.lanterna.gui.component.Panel;
 import com.googlecode.lanterna.gui.component.Table;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
 
 public final class DatabaseAccessPanel extends Panel implements Observer {
 
diff --git a/src/main/java/caosdb/server/terminal/EntitiesPanel.java b/src/main/java/org/caosdb/server/terminal/EntitiesPanel.java
similarity index 97%
rename from src/main/java/caosdb/server/terminal/EntitiesPanel.java
rename to src/main/java/org/caosdb/server/terminal/EntitiesPanel.java
index 10c5296eba2f75e360d0621d96392528f66f5475..b2f7489de66eeae9771e911b45e7d4546cb4f5b9 100644
--- a/src/main/java/caosdb/server/terminal/EntitiesPanel.java
+++ b/src/main/java/org/caosdb/server/terminal/EntitiesPanel.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
-import caosdb.server.utils.Info;
 import com.googlecode.lanterna.gui.component.Label;
 import com.googlecode.lanterna.gui.component.Panel;
 import com.googlecode.lanterna.gui.component.Table;
+import org.caosdb.server.utils.Info;
 
 public final class EntitiesPanel extends Panel implements StatComponent {
 
diff --git a/src/main/java/caosdb/server/terminal/MainWindow.java b/src/main/java/org/caosdb/server/terminal/MainWindow.java
similarity index 98%
rename from src/main/java/caosdb/server/terminal/MainWindow.java
rename to src/main/java/org/caosdb/server/terminal/MainWindow.java
index 7bdfefc21f167d68a687acfcded550aabe0432cd..aa22f12b23bed00dfb46db8c7cd140fb05551eec 100644
--- a/src/main/java/caosdb/server/terminal/MainWindow.java
+++ b/src/main/java/org/caosdb/server/terminal/MainWindow.java
@@ -20,9 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
-import caosdb.server.utils.Observer;
 import com.googlecode.lanterna.gui.Action;
 import com.googlecode.lanterna.gui.Border;
 import com.googlecode.lanterna.gui.Window;
@@ -35,6 +34,7 @@ import com.googlecode.lanterna.gui.dialog.MessageBox;
 import com.googlecode.lanterna.gui.layout.LinearLayout;
 import com.googlecode.lanterna.input.Key;
 import com.googlecode.lanterna.input.Key.Kind;
+import org.caosdb.server.utils.Observer;
 
 public class MainWindow extends Window {
 
diff --git a/src/main/java/caosdb/server/terminal/OutputStreamPanel.java b/src/main/java/org/caosdb/server/terminal/OutputStreamPanel.java
similarity index 99%
rename from src/main/java/caosdb/server/terminal/OutputStreamPanel.java
rename to src/main/java/org/caosdb/server/terminal/OutputStreamPanel.java
index 235a927cbbaca07e9433a88180269226d8ab88c7..50284f8a88e7d30596cc901be24108f3ea201d0a 100644
--- a/src/main/java/caosdb/server/terminal/OutputStreamPanel.java
+++ b/src/main/java/org/caosdb/server/terminal/OutputStreamPanel.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.gui.Action;
 import com.googlecode.lanterna.gui.component.Button;
diff --git a/src/main/java/caosdb/server/terminal/StatComponent.java b/src/main/java/org/caosdb/server/terminal/StatComponent.java
similarity index 96%
rename from src/main/java/caosdb/server/terminal/StatComponent.java
rename to src/main/java/org/caosdb/server/terminal/StatComponent.java
index 24f9fa57e72f6422d4c342f02aa4d765fe0a7dc8..90a9ac1125425bd23415abf3e4186f00695b9b2f 100644
--- a/src/main/java/caosdb/server/terminal/StatComponent.java
+++ b/src/main/java/org/caosdb/server/terminal/StatComponent.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.gui.Component;
 
diff --git a/src/main/java/caosdb/server/terminal/StatLabel.java b/src/main/java/org/caosdb/server/terminal/StatLabel.java
similarity index 93%
rename from src/main/java/caosdb/server/terminal/StatLabel.java
rename to src/main/java/org/caosdb/server/terminal/StatLabel.java
index 70568a924448379750d7a04d21b96ba0d0759c29..73a03ac31ed8874fc936807393701995130eaf7f 100644
--- a/src/main/java/caosdb/server/terminal/StatLabel.java
+++ b/src/main/java/org/caosdb/server/terminal/StatLabel.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
 import com.googlecode.lanterna.gui.component.Label;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
 
 public class StatLabel extends Label implements Observer, StatComponent {
 
diff --git a/src/main/java/caosdb/server/terminal/StatTable.java b/src/main/java/org/caosdb/server/terminal/StatTable.java
similarity index 97%
rename from src/main/java/caosdb/server/terminal/StatTable.java
rename to src/main/java/org/caosdb/server/terminal/StatTable.java
index 5d2ecb29204b63705e499b8ab71bea8d8c2b2255..e7234cdb8000a7c4dcc98463c3e9ca6cc8c9f19c 100644
--- a/src/main/java/caosdb/server/terminal/StatTable.java
+++ b/src/main/java/org/caosdb/server/terminal/StatTable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.gui.Component;
 import com.googlecode.lanterna.gui.component.Panel;
diff --git a/src/main/java/caosdb/server/terminal/StatsPanel.java b/src/main/java/org/caosdb/server/terminal/StatsPanel.java
similarity index 98%
rename from src/main/java/caosdb/server/terminal/StatsPanel.java
rename to src/main/java/org/caosdb/server/terminal/StatsPanel.java
index aa0f4a64926d5af851ed7b323d410d70a845957e..3b41ac6a9c4ae7366e85cffedbd71f83b30c6438 100644
--- a/src/main/java/caosdb/server/terminal/StatsPanel.java
+++ b/src/main/java/org/caosdb/server/terminal/StatsPanel.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.gui.Action;
 import com.googlecode.lanterna.gui.Border;
diff --git a/src/main/java/caosdb/server/terminal/SystemErrPanel.java b/src/main/java/org/caosdb/server/terminal/SystemErrPanel.java
similarity index 97%
rename from src/main/java/caosdb/server/terminal/SystemErrPanel.java
rename to src/main/java/org/caosdb/server/terminal/SystemErrPanel.java
index 75e4291ac041d1c5ecc3b9d38fe024619750dbb8..9bf800fdb3c755cd8ea2b2a55119cf4e093fde09 100644
--- a/src/main/java/caosdb/server/terminal/SystemErrPanel.java
+++ b/src/main/java/org/caosdb/server/terminal/SystemErrPanel.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.gui.component.Label;
 import java.io.IOException;
diff --git a/src/main/java/caosdb/server/terminal/SystemOutPanel.java b/src/main/java/org/caosdb/server/terminal/SystemOutPanel.java
similarity index 97%
rename from src/main/java/caosdb/server/terminal/SystemOutPanel.java
rename to src/main/java/org/caosdb/server/terminal/SystemOutPanel.java
index 48e16cc5f9365d57a7d9bc05a388a554bff388f3..b34cdaf97d8088a97ea66932d9abc96d6e1589be 100644
--- a/src/main/java/caosdb/server/terminal/SystemOutPanel.java
+++ b/src/main/java/org/caosdb/server/terminal/SystemOutPanel.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.gui.component.Label;
 import java.io.IOException;
diff --git a/src/main/java/caosdb/server/transaction/AccessControlTransaction.java b/src/main/java/org/caosdb/server/transaction/AccessControlTransaction.java
similarity index 87%
rename from src/main/java/caosdb/server/transaction/AccessControlTransaction.java
rename to src/main/java/org/caosdb/server/transaction/AccessControlTransaction.java
index ac5e3030c5b39aa49f2eb332e050a7b58b157fb0..0a2d1363427d9e21504b421c88e7605af59634ac 100644
--- a/src/main/java/caosdb/server/transaction/AccessControlTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/AccessControlTransaction.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.misc.RollBackHandler;
-import caosdb.server.entity.Message;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.misc.RollBackHandler;
+import org.caosdb.server.entity.Message;
 
 public abstract class AccessControlTransaction implements TransactionInterface {
 
diff --git a/src/main/java/caosdb/server/transaction/ChecksumUpdater.java b/src/main/java/org/caosdb/server/transaction/ChecksumUpdater.java
similarity index 88%
rename from src/main/java/caosdb/server/transaction/ChecksumUpdater.java
rename to src/main/java/org/caosdb/server/transaction/ChecksumUpdater.java
index 29603fc5833837dfef4a16e8886cdca995c41b94..1d8bb44c1febdbf2722b5b33e2d1052ec37b0424 100644
--- a/src/main/java/caosdb/server/transaction/ChecksumUpdater.java
+++ b/src/main/java/org/caosdb/server/transaction/ChecksumUpdater.java
@@ -20,22 +20,22 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.GetUpdateableChecksums;
-import caosdb.server.database.backend.transaction.RetrieveSparseEntity;
-import caosdb.server.database.backend.transaction.UpdateSparseEntity;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.utils.FileUtils;
+package org.caosdb.server.transaction;
+
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.GetUpdateableChecksums;
+import org.caosdb.server.database.backend.transaction.RetrieveSparseEntity;
+import org.caosdb.server.database.backend.transaction.UpdateSparseEntity;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.utils.FileUtils;
 
 /**
  * Retrieves all file without a checksum, calculates one and stores it to the database (method
diff --git a/src/main/java/caosdb/server/transaction/Delete.java b/src/main/java/org/caosdb/server/transaction/Delete.java
similarity index 85%
rename from src/main/java/caosdb/server/transaction/Delete.java
rename to src/main/java/org/caosdb/server/transaction/Delete.java
index 1d3aacbc78043fef6982b2b7663dc5d033e50e50..44e68b3afe6225f286ab76329b699f0cf0f10670 100644
--- a/src/main/java/caosdb/server/transaction/Delete.java
+++ b/src/main/java/org/caosdb/server/transaction/Delete.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.DeleteEntity;
-import caosdb.server.database.backend.transaction.RetrieveFullEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.DeleteContainer;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.DeleteEntity;
+import org.caosdb.server.database.backend.transaction.RetrieveFullEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.DeleteContainer;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 public class Delete extends WriteTransaction<DeleteContainer> {
 
diff --git a/src/main/java/caosdb/server/transaction/DeleteRoleTransaction.java b/src/main/java/org/caosdb/server/transaction/DeleteRoleTransaction.java
similarity index 81%
rename from src/main/java/caosdb/server/transaction/DeleteRoleTransaction.java
rename to src/main/java/org/caosdb/server/transaction/DeleteRoleTransaction.java
index e1ba3bec80663cb3b30d2dbdc48d9f9024c8f2d7..ad9a9925f8bed2ef03a1bcf9cd6b8c79adca6345 100644
--- a/src/main/java/caosdb/server/transaction/DeleteRoleTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/DeleteRoleTransaction.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.database.backend.transaction.DeleteRole;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.database.backend.transaction.SetPermissionRules;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.database.backend.transaction.DeleteRole;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.database.backend.transaction.SetPermissionRules;
+import org.caosdb.server.utils.ServerMessages;
 
 public class DeleteRoleTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/DeleteUserTransaction.java b/src/main/java/org/caosdb/server/transaction/DeleteUserTransaction.java
similarity index 78%
rename from src/main/java/caosdb/server/transaction/DeleteUserTransaction.java
rename to src/main/java/org/caosdb/server/transaction/DeleteUserTransaction.java
index cdedce31b34153494ceb0be28e4c3a9da360bb6e..0f2f5b7fb676e436b131ca69678214c2e34b974c 100644
--- a/src/main/java/caosdb/server/transaction/DeleteUserTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/DeleteUserTransaction.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.CredentialsValidator;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.backend.transaction.DeletePassword;
-import caosdb.server.database.backend.transaction.DeleteUser;
-import caosdb.server.database.backend.transaction.RetrievePasswordValidator;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.CredentialsValidator;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.database.backend.transaction.DeletePassword;
+import org.caosdb.server.database.backend.transaction.DeleteUser;
+import org.caosdb.server.database.backend.transaction.RetrievePasswordValidator;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class DeleteUserTransaction extends AccessControlTransaction {
diff --git a/src/main/java/caosdb/server/transaction/FileStorageConsistencyCheck.java b/src/main/java/org/caosdb/server/transaction/FileStorageConsistencyCheck.java
similarity index 89%
rename from src/main/java/caosdb/server/transaction/FileStorageConsistencyCheck.java
rename to src/main/java/org/caosdb/server/transaction/FileStorageConsistencyCheck.java
index 26cab30e898d2cd9f163ba3c9773b96c02110cbb..5d2a04b1e9f45360f47a93889f638eab23fbd512 100644
--- a/src/main/java/caosdb/server/transaction/FileStorageConsistencyCheck.java
+++ b/src/main/java/org/caosdb/server/transaction/FileStorageConsistencyCheck.java
@@ -20,27 +20,27 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
-
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.FileConsistencyCheck;
-import caosdb.server.database.backend.transaction.GetFileIterator;
-import caosdb.server.database.backend.transaction.GetFileRecordByPath;
-import caosdb.server.database.backend.transaction.RetrieveAllUncheckedFiles;
-import caosdb.server.database.backend.transaction.SetFileCheckedTimestamp;
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.utils.SHA512;
+package org.caosdb.server.transaction;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map.Entry;
 import java.util.TimeZone;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.FileConsistencyCheck;
+import org.caosdb.server.database.backend.transaction.GetFileIterator;
+import org.caosdb.server.database.backend.transaction.GetFileRecordByPath;
+import org.caosdb.server.database.backend.transaction.RetrieveAllUncheckedFiles;
+import org.caosdb.server.database.backend.transaction.SetFileCheckedTimestamp;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.utils.SHA512;
 import org.jdom2.Element;
 
 public class FileStorageConsistencyCheck extends Thread
diff --git a/src/main/java/caosdb/server/transaction/Insert.java b/src/main/java/org/caosdb/server/transaction/Insert.java
similarity index 86%
rename from src/main/java/caosdb/server/transaction/Insert.java
rename to src/main/java/org/caosdb/server/transaction/Insert.java
index c1d53f3051eb65efd9d658179e514e13863c313b..f60fc1286ae909eb7fd999aa3af1f8379dd331ff 100644
--- a/src/main/java/caosdb/server/transaction/Insert.java
+++ b/src/main/java/org/caosdb/server/transaction/Insert.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.InsertEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Version;
-import caosdb.server.entity.container.InsertContainer;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.permissions.EntityACL;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.InsertEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Version;
+import org.caosdb.server.entity.container.InsertContainer;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.permissions.EntityACL;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 public class Insert extends WriteTransaction<InsertContainer> {
 
diff --git a/src/main/java/caosdb/server/transaction/InsertLogRecordTransaction.java b/src/main/java/org/caosdb/server/transaction/InsertLogRecordTransaction.java
similarity index 87%
rename from src/main/java/caosdb/server/transaction/InsertLogRecordTransaction.java
rename to src/main/java/org/caosdb/server/transaction/InsertLogRecordTransaction.java
index 3762b0bed3f726dd521f754043d0e99a5d2a3913..be01d93086e65694313c0d97c6b1603aef6a6bc7 100644
--- a/src/main/java/caosdb/server/transaction/InsertLogRecordTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/InsertLogRecordTransaction.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.InsertLogRecord;
 import java.util.List;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.InsertLogRecord;
 
 public class InsertLogRecordTransaction implements TransactionInterface {
 
diff --git a/src/main/java/caosdb/server/transaction/InsertRoleTransaction.java b/src/main/java/org/caosdb/server/transaction/InsertRoleTransaction.java
similarity index 82%
rename from src/main/java/caosdb/server/transaction/InsertRoleTransaction.java
rename to src/main/java/org/caosdb/server/transaction/InsertRoleTransaction.java
index 8377210690692c8819e5197e35a8e549d27f2a30..b70e2bd71259645a8f619cb25d36998579e3dca7 100644
--- a/src/main/java/caosdb/server/transaction/InsertRoleTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/InsertRoleTransaction.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.backend.transaction.InsertRole;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.backend.transaction.InsertRole;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.utils.ServerMessages;
 
 public class InsertRoleTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/InsertUserTransaction.java b/src/main/java/org/caosdb/server/transaction/InsertUserTransaction.java
similarity index 81%
rename from src/main/java/caosdb/server/transaction/InsertUserTransaction.java
rename to src/main/java/org/caosdb/server/transaction/InsertUserTransaction.java
index 75b876b8bc291ea246746b4a8e85ccd26055c173..b91b1aa6b31911822ed9df4c1eaffa87374ede82 100644
--- a/src/main/java/caosdb/server/transaction/InsertUserTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/InsertUserTransaction.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.accessControl.UserStatus;
-import caosdb.server.database.backend.transaction.RetrievePasswordValidator;
-import caosdb.server.database.backend.transaction.SetPassword;
-import caosdb.server.database.backend.transaction.UpdateUser;
-import caosdb.server.database.proto.ProtoUser;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.Utils;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.accessControl.UserStatus;
+import org.caosdb.server.database.backend.transaction.RetrievePasswordValidator;
+import org.caosdb.server.database.backend.transaction.SetPassword;
+import org.caosdb.server.database.backend.transaction.UpdateUser;
+import org.caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.Utils;
 import org.jdom2.Element;
 
 public class InsertUserTransaction extends AccessControlTransaction {
diff --git a/src/main/java/caosdb/server/transaction/Retrieve.java b/src/main/java/org/caosdb/server/transaction/Retrieve.java
similarity index 85%
rename from src/main/java/caosdb/server/transaction/Retrieve.java
rename to src/main/java/org/caosdb/server/transaction/Retrieve.java
index 0de1b8e06b66a4293668fb499fb28f33fa398187..5b01657a9c0df55f2b93fe83532b074543debff9 100644
--- a/src/main/java/caosdb/server/transaction/Retrieve.java
+++ b/src/main/java/org/caosdb/server/transaction/Retrieve.java
@@ -20,22 +20,22 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
-
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.RetrieveFullEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.entity.xml.ToElementStrategy;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.jobs.core.Mode;
-import caosdb.server.jobs.core.RemoveDuplicates;
-import caosdb.server.jobs.core.ResolveNames;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.transaction;
+
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.RetrieveFullEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.entity.xml.ToElementStrategy;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.jobs.core.Mode;
+import org.caosdb.server.jobs.core.RemoveDuplicates;
+import org.caosdb.server.jobs.core.ResolveNames;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class Retrieve extends Transaction<RetrieveContainer> {
diff --git a/src/main/java/caosdb/server/transaction/RetrieveLogRecordTransaction.java b/src/main/java/org/caosdb/server/transaction/RetrieveLogRecordTransaction.java
similarity index 89%
rename from src/main/java/caosdb/server/transaction/RetrieveLogRecordTransaction.java
rename to src/main/java/org/caosdb/server/transaction/RetrieveLogRecordTransaction.java
index bbe2e1f11a7bd4c7705a790dec78903fb0e7c20a..49d850dbcb672767da33a7c855063b04e1099f29 100644
--- a/src/main/java/caosdb/server/transaction/RetrieveLogRecordTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrieveLogRecordTransaction.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.RetrieveLogRecord;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.RetrieveLogRecord;
 
 public class RetrieveLogRecordTransaction implements TransactionInterface {
 
diff --git a/src/main/java/caosdb/server/transaction/RetrievePasswordValidatorTransaction.java b/src/main/java/org/caosdb/server/transaction/RetrievePasswordValidatorTransaction.java
similarity index 86%
rename from src/main/java/caosdb/server/transaction/RetrievePasswordValidatorTransaction.java
rename to src/main/java/org/caosdb/server/transaction/RetrievePasswordValidatorTransaction.java
index d18b5c306373d6b89aa924bd154db444fbdb8f9a..bb1e136bcb62c28800d0b7c2c0d88c9a2ee34634 100644
--- a/src/main/java/caosdb/server/transaction/RetrievePasswordValidatorTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrievePasswordValidatorTransaction.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.CredentialsValidator;
-import caosdb.server.database.backend.transaction.RetrievePasswordValidator;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.accessControl.CredentialsValidator;
+import org.caosdb.server.database.backend.transaction.RetrievePasswordValidator;
+import org.caosdb.server.utils.ServerMessages;
 
 public class RetrievePasswordValidatorTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/RetrievePermissionRulesTransaction.java b/src/main/java/org/caosdb/server/transaction/RetrievePermissionRulesTransaction.java
similarity index 84%
rename from src/main/java/caosdb/server/transaction/RetrievePermissionRulesTransaction.java
rename to src/main/java/org/caosdb/server/transaction/RetrievePermissionRulesTransaction.java
index d02722fd9e89e70c26e8782252c65fb9e199158c..225d068895d6484448b149d6b925facaabbf75fb 100644
--- a/src/main/java/caosdb/server/transaction/RetrievePermissionRulesTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrievePermissionRulesTransaction.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.backend.transaction.RetrievePermissionRules;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.permissions.PermissionRule;
-import caosdb.server.utils.ServerMessages;
 import java.util.HashSet;
+import org.caosdb.server.database.backend.transaction.RetrievePermissionRules;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.permissions.PermissionRule;
+import org.caosdb.server.utils.ServerMessages;
 
 public class RetrievePermissionRulesTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/RetrieveRoleTransaction.java b/src/main/java/org/caosdb/server/transaction/RetrieveRoleTransaction.java
similarity index 87%
rename from src/main/java/caosdb/server/transaction/RetrieveRoleTransaction.java
rename to src/main/java/org/caosdb/server/transaction/RetrieveRoleTransaction.java
index 4d019f87fb572ce8e75393302764e8146034ee22..c7c251ba9847fe29f84589297f846f436f2a1309 100644
--- a/src/main/java/caosdb/server/transaction/RetrieveRoleTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrieveRoleTransaction.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.utils.ServerMessages;
 
 public class RetrieveRoleTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/RetrieveSparseEntityByPath.java b/src/main/java/org/caosdb/server/transaction/RetrieveSparseEntityByPath.java
similarity index 86%
rename from src/main/java/caosdb/server/transaction/RetrieveSparseEntityByPath.java
rename to src/main/java/org/caosdb/server/transaction/RetrieveSparseEntityByPath.java
index 2b936247bba9ece2d4bb9ab5cb1a5a1b2cbada74..d82985fe8060b3919d48c17a6bbd2994fc92c5bf 100644
--- a/src/main/java/caosdb/server/transaction/RetrieveSparseEntityByPath.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrieveSparseEntityByPath.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.backend.transaction.GetFileRecordByPath;
-import caosdb.server.database.backend.transaction.RetrieveSparseEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.database.backend.transaction.GetFileRecordByPath;
+import org.caosdb.server.database.backend.transaction.RetrieveSparseEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
 
 public class RetrieveSparseEntityByPath extends Transaction<TransactionContainer> {
 
diff --git a/src/main/java/caosdb/server/transaction/RetrieveUserRolesTransaction.java b/src/main/java/org/caosdb/server/transaction/RetrieveUserRolesTransaction.java
similarity index 91%
rename from src/main/java/caosdb/server/transaction/RetrieveUserRolesTransaction.java
rename to src/main/java/org/caosdb/server/transaction/RetrieveUserRolesTransaction.java
index e864c20bcf040faf78dc54e24dbcdefc1a8be795..97e518d06ac9ad5766b3801be8b1f1403cf8af3f 100644
--- a/src/main/java/caosdb/server/transaction/RetrieveUserRolesTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrieveUserRolesTransaction.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.utils.ServerMessages;
 import java.util.Set;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class RetrieveUserRolesTransaction implements TransactionInterface {
diff --git a/src/main/java/caosdb/server/transaction/RetrieveUserTransaction.java b/src/main/java/org/caosdb/server/transaction/RetrieveUserTransaction.java
similarity index 88%
rename from src/main/java/caosdb/server/transaction/RetrieveUserTransaction.java
rename to src/main/java/org/caosdb/server/transaction/RetrieveUserTransaction.java
index f2728a64664ad72f113e55a91ef87496810ad7c6..228b1585233ae71d3b7130196f68c3b9f83f5ed2 100644
--- a/src/main/java/caosdb/server/transaction/RetrieveUserTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrieveUserTransaction.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.accessControl.UserStatus;
-import caosdb.server.database.backend.transaction.RetrieveUser;
-import caosdb.server.database.proto.ProtoUser;
-import caosdb.server.utils.ServerMessages;
 import java.util.Set;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.accessControl.UserStatus;
+import org.caosdb.server.database.backend.transaction.RetrieveUser;
+import org.caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class RetrieveUserTransaction extends AccessControlTransaction {
diff --git a/src/main/java/caosdb/server/transaction/Transaction.java b/src/main/java/org/caosdb/server/transaction/Transaction.java
similarity index 88%
rename from src/main/java/caosdb/server/transaction/Transaction.java
rename to src/main/java/org/caosdb/server/transaction/Transaction.java
index d2c16438b5c071fec72b11b600604b46c4b2da30..0235b8a25cd1d7df9f923023b1be2d5597038b0e 100644
--- a/src/main/java/caosdb/server/transaction/Transaction.java
+++ b/src/main/java/org/caosdb/server/transaction/Transaction.java
@@ -22,33 +22,33 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
-
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.InsertTransactionHistory;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.jobs.Job;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.jobs.Schedule;
-import caosdb.server.jobs.core.AccessControl;
-import caosdb.server.jobs.core.CheckDatatypePresent;
-import caosdb.server.jobs.core.CheckEntityACLRoles;
-import caosdb.server.jobs.core.Mode;
-import caosdb.server.jobs.core.PickUp;
-import caosdb.server.utils.AbstractObservable;
-import caosdb.server.utils.Info;
-import caosdb.server.utils.Observer;
+package org.caosdb.server.transaction;
+
 import java.util.HashMap;
 import java.util.List;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.InsertTransactionHistory;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.jobs.Job;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.jobs.Schedule;
+import org.caosdb.server.jobs.core.AccessControl;
+import org.caosdb.server.jobs.core.CheckDatatypePresent;
+import org.caosdb.server.jobs.core.CheckEntityACLRoles;
+import org.caosdb.server.jobs.core.Mode;
+import org.caosdb.server.jobs.core.PickUp;
+import org.caosdb.server.utils.AbstractObservable;
+import org.caosdb.server.utils.Info;
+import org.caosdb.server.utils.Observer;
 
 public abstract class Transaction<C extends TransactionContainer> extends AbstractObservable
     implements TransactionInterface {
diff --git a/src/main/java/caosdb/server/transaction/TransactionInterface.java b/src/main/java/org/caosdb/server/transaction/TransactionInterface.java
similarity index 85%
rename from src/main/java/caosdb/server/transaction/TransactionInterface.java
rename to src/main/java/org/caosdb/server/transaction/TransactionInterface.java
index 1aaf2786cc613709c59c92b7102474cead00ca1c..1aa41b2bbc31063b2978aa9c141e75c98799f124 100644
--- a/src/main/java/caosdb/server/transaction/TransactionInterface.java
+++ b/src/main/java/org/caosdb/server/transaction/TransactionInterface.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.misc.RollBackHandler;
-import caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.misc.RollBackHandler;
+import org.caosdb.server.database.misc.TransactionBenchmark;
 
 public interface TransactionInterface {
 
diff --git a/src/main/java/caosdb/server/transaction/Update.java b/src/main/java/org/caosdb/server/transaction/Update.java
similarity index 94%
rename from src/main/java/caosdb/server/transaction/Update.java
rename to src/main/java/org/caosdb/server/transaction/Update.java
index b9e6e8de19f137014d10d1c6516c07ca2acabf8e..f5a9a7ffd8b32e4b8d220ea6bba44731b51047ef 100644
--- a/src/main/java/caosdb/server/transaction/Update.java
+++ b/src/main/java/org/caosdb/server/transaction/Update.java
@@ -20,30 +20,30 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.RetrieveFullEntity;
-import caosdb.server.database.backend.transaction.UpdateEntity;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.entity.container.UpdateContainer;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.permissions.Permission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.transaction;
+
 import com.google.common.base.Objects;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.util.HashSet;
 import java.util.Set;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.RetrieveFullEntity;
+import org.caosdb.server.database.backend.transaction.UpdateEntity;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.entity.container.UpdateContainer;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.permissions.Permission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 public class Update extends WriteTransaction<UpdateContainer> {
 
diff --git a/src/main/java/caosdb/server/transaction/UpdatePermissionRulesTransaction.java b/src/main/java/org/caosdb/server/transaction/UpdatePermissionRulesTransaction.java
similarity index 83%
rename from src/main/java/caosdb/server/transaction/UpdatePermissionRulesTransaction.java
rename to src/main/java/org/caosdb/server/transaction/UpdatePermissionRulesTransaction.java
index e537b001f2af65e35c65e8c8ad88d37a2fd2bc01..4f8c9369fe915675e24c55e9fc7e0052ede360b3 100644
--- a/src/main/java/caosdb/server/transaction/UpdatePermissionRulesTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/UpdatePermissionRulesTransaction.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.database.backend.transaction.SetPermissionRules;
-import caosdb.server.permissions.PermissionRule;
-import caosdb.server.utils.ServerMessages;
 import java.util.Set;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.database.backend.transaction.SetPermissionRules;
+import org.caosdb.server.permissions.PermissionRule;
+import org.caosdb.server.utils.ServerMessages;
 
 public class UpdatePermissionRulesTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/UpdateRoleTransaction.java b/src/main/java/org/caosdb/server/transaction/UpdateRoleTransaction.java
similarity index 80%
rename from src/main/java/caosdb/server/transaction/UpdateRoleTransaction.java
rename to src/main/java/org/caosdb/server/transaction/UpdateRoleTransaction.java
index dfec776005800469654f144a0c5ae6f0213a04ad..7e1632f8a0a9252c6e400d352bb63e133f6ae9e6 100644
--- a/src/main/java/caosdb/server/transaction/UpdateRoleTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/UpdateRoleTransaction.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.Role;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.backend.transaction.InsertRole;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.database.backend.transaction.InsertRole;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.utils.ServerMessages;
 
 public class UpdateRoleTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/UpdateUserRolesTransaction.java b/src/main/java/org/caosdb/server/transaction/UpdateUserRolesTransaction.java
similarity index 87%
rename from src/main/java/caosdb/server/transaction/UpdateUserRolesTransaction.java
rename to src/main/java/org/caosdb/server/transaction/UpdateUserRolesTransaction.java
index f11400c3826170de658fd9e5a634665f00e1cb44..a74d875fc8b4d14821de24522e8b9bc531416ee5 100644
--- a/src/main/java/caosdb/server/transaction/UpdateUserRolesTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/UpdateUserRolesTransaction.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.database.backend.transaction.UpdateUserRoles;
-import caosdb.server.utils.ServerMessages;
 import java.util.HashSet;
 import java.util.Set;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.database.backend.transaction.UpdateUserRoles;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class UpdateUserRolesTransaction extends AccessControlTransaction {
diff --git a/src/main/java/caosdb/server/transaction/UpdateUserTransaction.java b/src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java
similarity index 85%
rename from src/main/java/caosdb/server/transaction/UpdateUserTransaction.java
rename to src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java
index ca29bb7977da8fc677c774b30a1f3fa78879c5a7..dc93549a4e5a65d474043f109d136048c37d6146 100644
--- a/src/main/java/caosdb/server/transaction/UpdateUserTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java
@@ -20,24 +20,24 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.accessControl.UserStatus;
-import caosdb.server.database.backend.transaction.RetrieveUser;
-import caosdb.server.database.backend.transaction.SetPassword;
-import caosdb.server.database.backend.transaction.UpdateUser;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.Utils;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.accessControl.UserStatus;
+import org.caosdb.server.database.backend.transaction.RetrieveUser;
+import org.caosdb.server.database.backend.transaction.SetPassword;
+import org.caosdb.server.database.backend.transaction.UpdateUser;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.Utils;
 import org.jdom2.Element;
 
 public class UpdateUserTransaction extends AccessControlTransaction {
diff --git a/src/main/java/caosdb/server/transaction/WriteTransaction.java b/src/main/java/org/caosdb/server/transaction/WriteTransaction.java
similarity index 90%
rename from src/main/java/caosdb/server/transaction/WriteTransaction.java
rename to src/main/java/org/caosdb/server/transaction/WriteTransaction.java
index ec37d19d6f5a4663c0af0adda186c282215a302b..04c3834caad3264d6c1b8e5c99cf5b17a513e403 100644
--- a/src/main/java/caosdb/server/transaction/WriteTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/WriteTransaction.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.misc.RollBackHandler;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.database.misc.RollBackHandler;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.container.TransactionContainer;
 
 public abstract class WriteTransaction<C extends TransactionContainer> extends Transaction<C> {
 
diff --git a/src/main/java/caosdb/server/utils/AbstractObservable.java b/src/main/java/org/caosdb/server/utils/AbstractObservable.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/AbstractObservable.java
rename to src/main/java/org/caosdb/server/utils/AbstractObservable.java
index d52a51bfef0375cad9069d57b744c0618813aae3..a19fff9d44ce7339a9cdc6712e0806ef42bdfd40 100644
--- a/src/main/java/caosdb/server/utils/AbstractObservable.java
+++ b/src/main/java/org/caosdb/server/utils/AbstractObservable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.util.Iterator;
 import org.eclipse.jetty.util.ConcurrentHashSet;
diff --git a/src/main/java/caosdb/server/utils/AsynchronousHasher.java b/src/main/java/org/caosdb/server/utils/AsynchronousHasher.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/AsynchronousHasher.java
rename to src/main/java/org/caosdb/server/utils/AsynchronousHasher.java
index 3c504c3f4b0532f692431c83b7ca441bfd8808f3..b7f89f84dcf66c93a3025ac625fb962a1be1671c 100644
--- a/src/main/java/caosdb/server/utils/AsynchronousHasher.java
+++ b/src/main/java/org/caosdb/server/utils/AsynchronousHasher.java
@@ -1,3 +1,4 @@
+package org.caosdb.server.utils;
 /*
  * ** header v3.0
  * This file is a part of the CaosDB Project.
diff --git a/src/main/java/caosdb/server/utils/ConfigurationException.java b/src/main/java/org/caosdb/server/utils/ConfigurationException.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/ConfigurationException.java
rename to src/main/java/org/caosdb/server/utils/ConfigurationException.java
index 74a741873b3d4e53f6d5af1dfcf2bc0bda1b125b..3c9e77149ce12bc6e6f663788cdf86fba72bed81 100644
--- a/src/main/java/caosdb/server/utils/ConfigurationException.java
+++ b/src/main/java/org/caosdb/server/utils/ConfigurationException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public class ConfigurationException extends RuntimeException {
 
diff --git a/src/main/java/caosdb/server/utils/CronJob.java b/src/main/java/org/caosdb/server/utils/CronJob.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/CronJob.java
rename to src/main/java/org/caosdb/server/utils/CronJob.java
index a6608b1020df2796839ec419203630db4a1ee921..8110a51752d996fc2f4fd2af3e5b7350f3e4d01f 100644
--- a/src/main/java/caosdb/server/utils/CronJob.java
+++ b/src/main/java/org/caosdb/server/utils/CronJob.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.server.CaosDBServer;
 import java.util.HashMap;
+import org.caosdb.server.CaosDBServer;
 
 public class CronJob {
 
diff --git a/src/main/java/caosdb/server/utils/EntityStatus.java b/src/main/java/org/caosdb/server/utils/EntityStatus.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/EntityStatus.java
rename to src/main/java/org/caosdb/server/utils/EntityStatus.java
index 3e906302c45623ae0cacba7f45c20dd5f560a7fb..ef8bdc101c61e216c9aa448d667b59dfa5107672 100644
--- a/src/main/java/caosdb/server/utils/EntityStatus.java
+++ b/src/main/java/org/caosdb/server/utils/EntityStatus.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 /**
  * IGNORE - This instance must be ignored during further processing. <br>
diff --git a/src/main/java/caosdb/server/utils/FileUtils.java b/src/main/java/org/caosdb/server/utils/FileUtils.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/FileUtils.java
rename to src/main/java/org/caosdb/server/utils/FileUtils.java
index 2357b7217c0fa9b112dd6c9e45d5be64d36edefb..70ba003018e3ccc7831bf9f536e827552445ec6a 100644
--- a/src/main/java/caosdb/server/utils/FileUtils.java
+++ b/src/main/java/org/caosdb/server/utils/FileUtils.java
@@ -20,18 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import static java.nio.file.Files.isSameFile;
 import static java.nio.file.Files.isSymbolicLink;
 import static java.nio.file.Files.readSymbolicLink;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.ServerProperties;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
@@ -43,6 +37,12 @@ import java.nio.file.LinkOption;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.Arrays;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
 import org.eclipse.jetty.io.RuntimeIOException;
 
 public class FileUtils {
diff --git a/src/main/java/caosdb/server/utils/FlagInfo.java b/src/main/java/org/caosdb/server/utils/FlagInfo.java
similarity index 92%
rename from src/main/java/caosdb/server/utils/FlagInfo.java
rename to src/main/java/org/caosdb/server/utils/FlagInfo.java
index 6a94194ba401e36c3c4e2fbc41c939b0c3aa6a43..9ddd131f4c219cbb98b860d77fd49e76d375a7ab 100644
--- a/src/main/java/caosdb/server/utils/FlagInfo.java
+++ b/src/main/java/org/caosdb/server/utils/FlagInfo.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.Job;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.transaction.TransactionInterface;
 import java.lang.annotation.Annotation;
 import java.util.ArrayList;
 import java.util.Set;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.Job;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.transaction.TransactionInterface;
 import org.jdom2.Element;
 import org.reflections.Reflections;
 
diff --git a/src/main/java/caosdb/server/utils/HashAlgorithm.java b/src/main/java/org/caosdb/server/utils/HashAlgorithm.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/HashAlgorithm.java
rename to src/main/java/org/caosdb/server/utils/HashAlgorithm.java
index d6155a854aa8944fc7eeb861007b5aed8f3a7946..6bf517fc5b906b4199219bde5654dbdebf3c5ecb 100644
--- a/src/main/java/caosdb/server/utils/HashAlgorithm.java
+++ b/src/main/java/org/caosdb/server/utils/HashAlgorithm.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.io.File;
 
diff --git a/src/main/java/caosdb/server/utils/HashException.java b/src/main/java/org/caosdb/server/utils/HashException.java
similarity index 93%
rename from src/main/java/caosdb/server/utils/HashException.java
rename to src/main/java/org/caosdb/server/utils/HashException.java
index 6df49b0a1fc28dd37c315bd05047db2750709fa8..2140f6d4d780fc3849f45bde5a051e6ad4f0abe8 100644
--- a/src/main/java/caosdb/server/utils/HashException.java
+++ b/src/main/java/org/caosdb/server/utils/HashException.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBException;
 
 public class HashException extends CaosDBException {
 
diff --git a/src/main/java/caosdb/server/utils/HashNotReadyException.java b/src/main/java/org/caosdb/server/utils/HashNotReadyException.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/HashNotReadyException.java
rename to src/main/java/org/caosdb/server/utils/HashNotReadyException.java
index 2638f6121b21dfa47ab1792ddbeb1f0e5c1664c5..c3c7ccfd47ba0fa47dd9abb0a35fae18a913ed4f 100644
--- a/src/main/java/caosdb/server/utils/HashNotReadyException.java
+++ b/src/main/java/org/caosdb/server/utils/HashNotReadyException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public class HashNotReadyException extends HashException {
 
diff --git a/src/main/java/caosdb/server/utils/HashTimeoutException.java b/src/main/java/org/caosdb/server/utils/HashTimeoutException.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/HashTimeoutException.java
rename to src/main/java/org/caosdb/server/utils/HashTimeoutException.java
index 03423c5e1d20631ae6f1e0ab2abff0272f432124..92e105a23cf1757102ff6ec9b80c76c3965ce9c8 100644
--- a/src/main/java/caosdb/server/utils/HashTimeoutException.java
+++ b/src/main/java/org/caosdb/server/utils/HashTimeoutException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public class HashTimeoutException extends HashException {
 
diff --git a/src/main/java/caosdb/server/utils/Hasher.java b/src/main/java/org/caosdb/server/utils/Hasher.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/Hasher.java
rename to src/main/java/org/caosdb/server/utils/Hasher.java
index 0d01e3f7cf572596323a5949dfd3d192a6c7d6bf..9eb009cd6e3445f3cc87639e8fc6d14793f386f2 100644
--- a/src/main/java/caosdb/server/utils/Hasher.java
+++ b/src/main/java/org/caosdb/server/utils/Hasher.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/src/main/java/caosdb/server/utils/Info.java b/src/main/java/org/caosdb/server/utils/Info.java
similarity index 93%
rename from src/main/java/caosdb/server/utils/Info.java
rename to src/main/java/org/caosdb/server/utils/Info.java
index bf85546d8303c072a322afcb9433c77eda928fec..19f792cf625765924f02a7b734f2e57849584ffc 100644
--- a/src/main/java/caosdb/server/utils/Info.java
+++ b/src/main/java/org/caosdb/server/utils/Info.java
@@ -20,24 +20,24 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
-
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.GetInfo;
-import caosdb.server.database.backend.transaction.SyncStats;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoInfo;
-import caosdb.server.entity.Message;
-import caosdb.server.transaction.TransactionInterface;
+package org.caosdb.server.utils;
+
 import java.io.File;
 import java.io.IOException;
 import java.sql.SQLException;
 import java.util.LinkedList;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.GetInfo;
+import org.caosdb.server.database.backend.transaction.SyncStats;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoInfo;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.transaction.TransactionInterface;
 import org.jdom2.Element;
 
 public class Info extends AbstractObservable implements Observer, TransactionInterface {
diff --git a/src/main/java/caosdb/server/utils/Initialization.java b/src/main/java/org/caosdb/server/utils/Initialization.java
similarity index 89%
rename from src/main/java/caosdb/server/utils/Initialization.java
rename to src/main/java/org/caosdb/server/utils/Initialization.java
index 9f77fcf2992c0e7fb8de38ee334bebe8c93ef3d8..baae53804f57433aa58da1ae1b9c58060c3db160 100644
--- a/src/main/java/caosdb/server/utils/Initialization.java
+++ b/src/main/java/org/caosdb/server/utils/Initialization.java
@@ -22,11 +22,11 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.transaction.TransactionInterface;
 
 public final class Initialization implements TransactionInterface, AutoCloseable {
 
diff --git a/src/main/java/caosdb/server/utils/NullPrintStream.java b/src/main/java/org/caosdb/server/utils/NullPrintStream.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/NullPrintStream.java
rename to src/main/java/org/caosdb/server/utils/NullPrintStream.java
index b6b7211b4493762473cad5a8a3edfa4bb89f6618..9256bdee5af75af1a141c2f1dbdbee54cf1b64e2 100644
--- a/src/main/java/caosdb/server/utils/NullPrintStream.java
+++ b/src/main/java/org/caosdb/server/utils/NullPrintStream.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.io.PrintStream;
 import org.apache.commons.io.output.NullOutputStream;
diff --git a/src/main/java/caosdb/server/utils/Observable.java b/src/main/java/org/caosdb/server/utils/Observable.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/Observable.java
rename to src/main/java/org/caosdb/server/utils/Observable.java
index f75e040111eab3b32269897bc04f4e8bee1744c3..a43822eb9725232f068c6cdb26764994033366a3 100644
--- a/src/main/java/caosdb/server/utils/Observable.java
+++ b/src/main/java/org/caosdb/server/utils/Observable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public interface Observable {
   public boolean acceptObserver(Observer o);
diff --git a/src/main/java/caosdb/server/utils/ObservableWrapper.java b/src/main/java/org/caosdb/server/utils/ObservableWrapper.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/ObservableWrapper.java
rename to src/main/java/org/caosdb/server/utils/ObservableWrapper.java
index a7bdede91f528f847b193b326d559b79cbdf6a05..fa44bce9f003adae4ccba4bc364d5ed2e61f5de1 100644
--- a/src/main/java/caosdb/server/utils/ObservableWrapper.java
+++ b/src/main/java/org/caosdb/server/utils/ObservableWrapper.java
@@ -1,3 +1,4 @@
+package org.caosdb.server.utils;
 /*
  * ** header v3.0
  * This file is a part of the CaosDB Project.
diff --git a/src/main/java/caosdb/server/utils/Observer.java b/src/main/java/org/caosdb/server/utils/Observer.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/Observer.java
rename to src/main/java/org/caosdb/server/utils/Observer.java
index bb1599d5f1ec4d248473d477e508cfc04200c90f..be89dff4b882adf24bcfd250c3dea1387997360d 100644
--- a/src/main/java/caosdb/server/utils/Observer.java
+++ b/src/main/java/org/caosdb/server/utils/Observer.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public interface Observer {
 
diff --git a/src/main/java/caosdb/server/utils/Releasable.java b/src/main/java/org/caosdb/server/utils/Releasable.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/Releasable.java
rename to src/main/java/org/caosdb/server/utils/Releasable.java
index 36b293e0e46fbd16a7ac811e49f989e9e6c9ca7d..f81a029ae319af057c4bc06e3d0501b6eedbe38c 100644
--- a/src/main/java/caosdb/server/utils/Releasable.java
+++ b/src/main/java/org/caosdb/server/utils/Releasable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public interface Releasable {
 
diff --git a/src/main/java/caosdb/server/utils/SHA512.java b/src/main/java/org/caosdb/server/utils/SHA512.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/SHA512.java
rename to src/main/java/org/caosdb/server/utils/SHA512.java
index 07d56bd81435e36b0ddb4dbad16ec703f6d37a4f..a461d95ed9e38baf350b0ee53e059b10ee13a177 100644
--- a/src/main/java/caosdb/server/utils/SHA512.java
+++ b/src/main/java/org/caosdb/server/utils/SHA512.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/src/main/java/caosdb/server/utils/Serializer.java b/src/main/java/org/caosdb/server/utils/Serializer.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/Serializer.java
rename to src/main/java/org/caosdb/server/utils/Serializer.java
index 26cd970c54d2bc4efcb7742ab9405a717e3ef112..c58ca23ebfd439e5681289e451da5651d459abc7 100644
--- a/src/main/java/caosdb/server/utils/Serializer.java
+++ b/src/main/java/org/caosdb/server/utils/Serializer.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public interface Serializer<T, S> {
 
diff --git a/src/main/java/caosdb/server/utils/ServerMessages.java b/src/main/java/org/caosdb/server/utils/ServerMessages.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/ServerMessages.java
rename to src/main/java/org/caosdb/server/utils/ServerMessages.java
index 29983924246f5bc5987ffdbfeaf949d0946c7f16..2801218aa47a18ec1494ee8ef76607eb9b962130 100644
--- a/src/main/java/caosdb/server/utils/ServerMessages.java
+++ b/src/main/java/org/caosdb/server/utils/ServerMessages.java
@@ -17,12 +17,12 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
 
 public class ServerMessages {
 
diff --git a/src/main/java/caosdb/server/utils/ServerStat.java b/src/main/java/org/caosdb/server/utils/ServerStat.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/ServerStat.java
rename to src/main/java/org/caosdb/server/utils/ServerStat.java
index c0b95d790cd724cddb0af4a934eac7a60047d13a..8b5526335208f07b084e8d61e5d4244b3c235da2 100644
--- a/src/main/java/caosdb/server/utils/ServerStat.java
+++ b/src/main/java/org/caosdb/server/utils/ServerStat.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.io.Serializable;
 
diff --git a/src/main/java/caosdb/server/utils/TransactionLogMessage.java b/src/main/java/org/caosdb/server/utils/TransactionLogMessage.java
similarity index 94%
rename from src/main/java/caosdb/server/utils/TransactionLogMessage.java
rename to src/main/java/org/caosdb/server/utils/TransactionLogMessage.java
index fbc5e7c05c0a5812ed33879ad0ebcfb6c11dae57..368e09085fce6cc77ac703cd7e2f51f9f4f32d22 100644
--- a/src/main/java/caosdb/server/utils/TransactionLogMessage.java
+++ b/src/main/java/org/caosdb/server/utils/TransactionLogMessage.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.entity.EntityInterface;
 import java.util.TimeZone;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.entity.EntityInterface;
 import org.jdom2.Element;
 
 public class TransactionLogMessage {
diff --git a/src/main/java/caosdb/server/utils/UncloseableOutputStream.java b/src/main/java/org/caosdb/server/utils/UncloseableOutputStream.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/UncloseableOutputStream.java
rename to src/main/java/org/caosdb/server/utils/UncloseableOutputStream.java
index 1918c9c8130fecab0906d7cc34ffd1fa32e0d3d7..3f70f2826cbed4547282d2e809ccdaa0068e3ebe 100644
--- a/src/main/java/caosdb/server/utils/UncloseableOutputStream.java
+++ b/src/main/java/org/caosdb/server/utils/UncloseableOutputStream.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.io.IOException;
 import java.io.OutputStream;
diff --git a/src/main/java/caosdb/server/utils/UndoHandler.java b/src/main/java/org/caosdb/server/utils/UndoHandler.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/UndoHandler.java
rename to src/main/java/org/caosdb/server/utils/UndoHandler.java
index d5c2806f7fa12ad2a223eb99dd17adf569779203..2102784711a1ebd5e879d1562eda26715a19f6b2 100644
--- a/src/main/java/caosdb/server/utils/UndoHandler.java
+++ b/src/main/java/org/caosdb/server/utils/UndoHandler.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.util.ArrayDeque;
 import java.util.Deque;
diff --git a/src/main/java/caosdb/server/utils/Undoable.java b/src/main/java/org/caosdb/server/utils/Undoable.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/Undoable.java
rename to src/main/java/org/caosdb/server/utils/Undoable.java
index 2a1d3c1c5234ecc34d3bbf02b5e0e8bf0bed84d2..2bbbcb17abf77556cbc6160cfe60335364c61de3 100644
--- a/src/main/java/caosdb/server/utils/Undoable.java
+++ b/src/main/java/org/caosdb/server/utils/Undoable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public interface Undoable {
 
diff --git a/src/main/java/caosdb/server/utils/Utils.java b/src/main/java/org/caosdb/server/utils/Utils.java
similarity index 99%
rename from src/main/java/caosdb/server/utils/Utils.java
rename to src/main/java/org/caosdb/server/utils/Utils.java
index 752d828d0e89e790aa7d42e1358b91d3fb5f3c1b..b21ba0f550e1f855ca21e26c1cfd04bb75107223 100644
--- a/src/main/java/caosdb/server/utils/Utils.java
+++ b/src/main/java/org/caosdb/server/utils/Utils.java
@@ -20,12 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import static java.net.URLDecoder.decode;
 import static java.net.URLEncoder.encode;
 
-import caosdb.server.entity.Message;
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
@@ -36,6 +35,7 @@ import java.text.DecimalFormat;
 import java.util.Scanner;
 import java.util.regex.Pattern;
 import org.apache.commons.codec.binary.Base32;
+import org.caosdb.server.entity.Message;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.output.Format;
diff --git a/src/main/java/caosdb/server/utils/WebinterfaceUtils.java b/src/main/java/org/caosdb/server/utils/WebinterfaceUtils.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/WebinterfaceUtils.java
rename to src/main/java/org/caosdb/server/utils/WebinterfaceUtils.java
index 2fef9ecaa4972bb12ddfccae4df3f57f493bbe08..1aff4de329bf3f32ba599a449c101b7fbe30423f 100644
--- a/src/main/java/caosdb/server/utils/WebinterfaceUtils.java
+++ b/src/main/java/org/caosdb/server/utils/WebinterfaceUtils.java
@@ -16,12 +16,8 @@
  *
  * <p>** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.resource.AbstractCaosDBServerResource;
-import caosdb.server.resource.Webinterface;
 import java.io.File;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
@@ -33,6 +29,10 @@ import java.util.Map;
 import java.util.stream.Stream;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.resource.AbstractCaosDBServerResource;
+import org.caosdb.server.resource.Webinterface;
 import org.restlet.data.Reference;
 
 /**
diff --git a/src/main/java/caosdb/server/utils/fsm/ActionNotAllowedException.java b/src/main/java/org/caosdb/server/utils/fsm/ActionNotAllowedException.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/fsm/ActionNotAllowedException.java
rename to src/main/java/org/caosdb/server/utils/fsm/ActionNotAllowedException.java
index eedd272c5d18fae84dd17b1f2eec0e24aa0730e9..950136aa0384221fcd214c0b090131adc0393c1a 100644
--- a/src/main/java/caosdb/server/utils/fsm/ActionNotAllowedException.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/ActionNotAllowedException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 public class ActionNotAllowedException extends RuntimeException {
 
diff --git a/src/main/java/caosdb/server/utils/fsm/FiniteStateMachine.java b/src/main/java/org/caosdb/server/utils/fsm/FiniteStateMachine.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/fsm/FiniteStateMachine.java
rename to src/main/java/org/caosdb/server/utils/fsm/FiniteStateMachine.java
index 7439d95a1820c91e93290b805de4fa0bdb31c273..f8bdccac726bfe25d7644f6dc689b54113f981c7 100644
--- a/src/main/java/caosdb/server/utils/fsm/FiniteStateMachine.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/FiniteStateMachine.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 import java.util.List;
 import java.util.Map;
diff --git a/src/main/java/caosdb/server/utils/fsm/MissingImplementationException.java b/src/main/java/org/caosdb/server/utils/fsm/MissingImplementationException.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/fsm/MissingImplementationException.java
rename to src/main/java/org/caosdb/server/utils/fsm/MissingImplementationException.java
index 761abf2fe7d8e45438ae06717d7de63ac56afb45..5984283d20d99d467114d537a3f30de7b0c0d6e3 100644
--- a/src/main/java/caosdb/server/utils/fsm/MissingImplementationException.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/MissingImplementationException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 public class MissingImplementationException extends Exception {
 
diff --git a/src/main/java/caosdb/server/utils/fsm/State.java b/src/main/java/org/caosdb/server/utils/fsm/State.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/fsm/State.java
rename to src/main/java/org/caosdb/server/utils/fsm/State.java
index 66073d4d6b2e092d24cf94a18d73216d461f53c9..81b76aa599a90de2c8b3c8ddd295e62ce47dae12 100644
--- a/src/main/java/caosdb/server/utils/fsm/State.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/State.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 import java.util.List;
 
diff --git a/src/main/java/caosdb/server/utils/fsm/StateNotReachableException.java b/src/main/java/org/caosdb/server/utils/fsm/StateNotReachableException.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/fsm/StateNotReachableException.java
rename to src/main/java/org/caosdb/server/utils/fsm/StateNotReachableException.java
index 9dbafcd940d5d07bc89d0aa110a39224a760c340..db0576788423b419051cfca6c78115fbdaf808ce 100644
--- a/src/main/java/caosdb/server/utils/fsm/StateNotReachableException.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/StateNotReachableException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 public class StateNotReachableException extends Exception {
 
diff --git a/src/main/java/caosdb/server/utils/fsm/StrategyFiniteStateMachine.java b/src/main/java/org/caosdb/server/utils/fsm/StrategyFiniteStateMachine.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/fsm/StrategyFiniteStateMachine.java
rename to src/main/java/org/caosdb/server/utils/fsm/StrategyFiniteStateMachine.java
index ad5d50dc49d9e0feca0586ccfdb620c26b5d483d..d37d83783bd7f4aaa1db573f76315d0b51bd5fbb 100644
--- a/src/main/java/caosdb/server/utils/fsm/StrategyFiniteStateMachine.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/StrategyFiniteStateMachine.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 import java.util.Map;
 
diff --git a/src/main/java/caosdb/server/utils/fsm/Transition.java b/src/main/java/org/caosdb/server/utils/fsm/Transition.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/fsm/Transition.java
rename to src/main/java/org/caosdb/server/utils/fsm/Transition.java
index 432adc17b9e1c664b95c0e85f4f6918793bf39ae..41921b76cfc7ceed6e396551807e4b199486f0cf 100644
--- a/src/main/java/caosdb/server/utils/fsm/Transition.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/Transition.java
@@ -20,6 +20,6 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 public interface Transition {}
diff --git a/src/main/java/caosdb/server/utils/fsm/TransitionNotAllowedException.java b/src/main/java/org/caosdb/server/utils/fsm/TransitionNotAllowedException.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/fsm/TransitionNotAllowedException.java
rename to src/main/java/org/caosdb/server/utils/fsm/TransitionNotAllowedException.java
index e5b56f7f55438b1b40ee153c65eeafc60e959448..0b831dfb52afb412330783192845c1f2add7da93 100644
--- a/src/main/java/caosdb/server/utils/fsm/TransitionNotAllowedException.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/TransitionNotAllowedException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 public class TransitionNotAllowedException extends Exception {
 
diff --git a/src/main/java/caosdb/server/utils/mail/Mail.java b/src/main/java/org/caosdb/server/utils/mail/Mail.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/mail/Mail.java
rename to src/main/java/org/caosdb/server/utils/mail/Mail.java
index c2036f909009a5ac0f294c6b0abed572e2d45790..36588fc1b3611efad17b80c9122208aa2292870f 100644
--- a/src/main/java/caosdb/server/utils/mail/Mail.java
+++ b/src/main/java/org/caosdb/server/utils/mail/Mail.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import java.util.Date;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 
 public class Mail {
 
diff --git a/src/main/java/caosdb/server/utils/mail/MailFormatter.java b/src/main/java/org/caosdb/server/utils/mail/MailFormatter.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/mail/MailFormatter.java
rename to src/main/java/org/caosdb/server/utils/mail/MailFormatter.java
index 31ff4777d3c9969f36d1c03512f7c9059d8c0fcf..2e31724d32527a3f171285513b2014be123e0921 100644
--- a/src/main/java/caosdb/server/utils/mail/MailFormatter.java
+++ b/src/main/java/org/caosdb/server/utils/mail/MailFormatter.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
 public interface MailFormatter {
 
diff --git a/src/main/java/caosdb/server/utils/mail/MailHandler.java b/src/main/java/org/caosdb/server/utils/mail/MailHandler.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/mail/MailHandler.java
rename to src/main/java/org/caosdb/server/utils/mail/MailHandler.java
index 24395e5935f8bb8887a23f16c95b74fc07a15b90..ebdf88dad42028c223784501216002cb5f5196a9 100644
--- a/src/main/java/caosdb/server/utils/mail/MailHandler.java
+++ b/src/main/java/org/caosdb/server/utils/mail/MailHandler.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
 public interface MailHandler {
 
diff --git a/src/main/java/caosdb/server/utils/mail/Mailable.java b/src/main/java/org/caosdb/server/utils/mail/Mailable.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/mail/Mailable.java
rename to src/main/java/org/caosdb/server/utils/mail/Mailable.java
index 6a2362c75b0ba10dc09358fc64d15aa807e45979..fc679aac61afee3cc8d5d47610a6c84ed0be36c0 100644
--- a/src/main/java/caosdb/server/utils/mail/Mailable.java
+++ b/src/main/java/org/caosdb/server/utils/mail/Mailable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
 public interface Mailable {
 
diff --git a/src/main/java/caosdb/server/utils/mail/SendMailHandler.java b/src/main/java/org/caosdb/server/utils/mail/SendMailHandler.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/mail/SendMailHandler.java
rename to src/main/java/org/caosdb/server/utils/mail/SendMailHandler.java
index fdf060e6f12a5f7939252e968bfe070c788b01b8..88a487c5b02ed9279520d5584fc13582e967a770 100644
--- a/src/main/java/caosdb/server/utils/mail/SendMailHandler.java
+++ b/src/main/java/org/caosdb/server/utils/mail/SendMailHandler.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
 import java.io.BufferedWriter;
 import java.io.IOException;
diff --git a/src/main/java/caosdb/server/utils/mail/SimpleMailFormatter.java b/src/main/java/org/caosdb/server/utils/mail/SimpleMailFormatter.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/mail/SimpleMailFormatter.java
rename to src/main/java/org/caosdb/server/utils/mail/SimpleMailFormatter.java
index 0241c13304b3f2e9b632033d8f0fafe1a6500a87..c1d5ce6b9967c41f82ecf24539f435af87a0899c 100644
--- a/src/main/java/caosdb/server/utils/mail/SimpleMailFormatter.java
+++ b/src/main/java/org/caosdb/server/utils/mail/SimpleMailFormatter.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
 import javax.mail.internet.MailDateFormat;
 
diff --git a/src/main/java/caosdb/server/utils/mail/ToFileHandler.java b/src/main/java/org/caosdb/server/utils/mail/ToFileHandler.java
similarity index 94%
rename from src/main/java/caosdb/server/utils/mail/ToFileHandler.java
rename to src/main/java/org/caosdb/server/utils/mail/ToFileHandler.java
index 8a7a012bc6e2f5b9dbf02ca9286c2c2c5ee3c6d5..24a6da787925a352b2675edf3000ad7f5d1f8dbb 100644
--- a/src/main/java/caosdb/server/utils/mail/ToFileHandler.java
+++ b/src/main/java/org/caosdb/server/utils/mail/ToFileHandler.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.PrintWriter;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 
 public class ToFileHandler implements MailHandler {
 
diff --git a/src/main/java/caosdb/unit/CaosDBSystemOfUnits.java b/src/main/java/org/caosdb/unit/CaosDBSystemOfUnits.java
similarity index 99%
rename from src/main/java/caosdb/unit/CaosDBSystemOfUnits.java
rename to src/main/java/org/caosdb/unit/CaosDBSystemOfUnits.java
index be7d5a0e023b21966feac0e590d848c1c67fcd4b..ed78c5cf41225ddc7adb36869a779d1c4ec57d67 100644
--- a/src/main/java/caosdb/unit/CaosDBSystemOfUnits.java
+++ b/src/main/java/org/caosdb/unit/CaosDBSystemOfUnits.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 import de.timmfitschen.easyunits.BaseUnit;
 import de.timmfitschen.easyunits.DefaultSystemOfUnitsFactory;
diff --git a/src/main/java/caosdb/unit/Converter.java b/src/main/java/org/caosdb/unit/Converter.java
similarity index 97%
rename from src/main/java/caosdb/unit/Converter.java
rename to src/main/java/org/caosdb/unit/Converter.java
index db42c12e4bb3ece5291e90b4f013184223b94d14..dfe63477d9c3e9639a58845b8034028befb039bb 100644
--- a/src/main/java/caosdb/unit/Converter.java
+++ b/src/main/java/org/caosdb/unit/Converter.java
@@ -20,6 +20,6 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 public interface Converter {}
diff --git a/src/main/java/caosdb/unit/LinearConverter.java b/src/main/java/org/caosdb/unit/LinearConverter.java
similarity index 97%
rename from src/main/java/caosdb/unit/LinearConverter.java
rename to src/main/java/org/caosdb/unit/LinearConverter.java
index 7d792d220f3ca878b002c045e3f0f3b0b9a4c3dc..8eac2d7e07dbe9f1594b368968b06d00034ea95e 100644
--- a/src/main/java/caosdb/unit/LinearConverter.java
+++ b/src/main/java/org/caosdb/unit/LinearConverter.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 public interface LinearConverter extends Converter {
 
diff --git a/src/main/java/caosdb/unit/Unit.java b/src/main/java/org/caosdb/unit/Unit.java
similarity index 97%
rename from src/main/java/caosdb/unit/Unit.java
rename to src/main/java/org/caosdb/unit/Unit.java
index d816369b105e4e0b5a7cffd994c4873bb101d046..9e676773013f30d5aa30b60a1357a130f3c5a941 100644
--- a/src/main/java/caosdb/unit/Unit.java
+++ b/src/main/java/org/caosdb/unit/Unit.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 public interface Unit {
 
diff --git a/src/main/java/caosdb/unit/UnknownUnit.java b/src/main/java/org/caosdb/unit/UnknownUnit.java
similarity index 97%
rename from src/main/java/caosdb/unit/UnknownUnit.java
rename to src/main/java/org/caosdb/unit/UnknownUnit.java
index 592b78a2673aee7720892952eb5c119bf5f7235c..70ad3546ece269efbdc224b7d6d12f9448a21938 100644
--- a/src/main/java/caosdb/unit/UnknownUnit.java
+++ b/src/main/java/org/caosdb/unit/UnknownUnit.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 public class UnknownUnit extends WrappedUnit implements Unit {
 
diff --git a/src/main/java/caosdb/unit/WrappedConverter.java b/src/main/java/org/caosdb/unit/WrappedConverter.java
similarity index 97%
rename from src/main/java/caosdb/unit/WrappedConverter.java
rename to src/main/java/org/caosdb/unit/WrappedConverter.java
index 91868cc36c9a07ba688f8b9a40896de6d07d89c1..f23be0394daa4a680e642a3d5f018e8b21db4235 100644
--- a/src/main/java/caosdb/unit/WrappedConverter.java
+++ b/src/main/java/org/caosdb/unit/WrappedConverter.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 public class WrappedConverter implements Converter {
 
diff --git a/src/main/java/caosdb/unit/WrappedLinearConverter.java b/src/main/java/org/caosdb/unit/WrappedLinearConverter.java
similarity index 99%
rename from src/main/java/caosdb/unit/WrappedLinearConverter.java
rename to src/main/java/org/caosdb/unit/WrappedLinearConverter.java
index de9590c391e96706666acdea298a2115d672e58c..b90b32ccee7395800f62ad91cdc960c4b93d0813 100644
--- a/src/main/java/caosdb/unit/WrappedLinearConverter.java
+++ b/src/main/java/org/caosdb/unit/WrappedLinearConverter.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 import java.text.DecimalFormat;
 import java.text.DecimalFormatSymbols;
diff --git a/src/main/java/caosdb/unit/WrappedUnit.java b/src/main/java/org/caosdb/unit/WrappedUnit.java
similarity index 98%
rename from src/main/java/caosdb/unit/WrappedUnit.java
rename to src/main/java/org/caosdb/unit/WrappedUnit.java
index b5f5eb8beb0e7c9ea990484695a33460fb04d7bd..c29ee5b5853423d14cd602c393c779673f6b0ed4 100644
--- a/src/main/java/caosdb/unit/WrappedUnit.java
+++ b/src/main/java/org/caosdb/unit/WrappedUnit.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 import de.timmfitschen.easyunits.conversion.LinearConverter;
 
diff --git a/src/test/java/caosdb/CaosDBTestClass.java b/src/test/java/org/caosdb/CaosDBTestClass.java
similarity index 98%
rename from src/test/java/caosdb/CaosDBTestClass.java
rename to src/test/java/org/caosdb/CaosDBTestClass.java
index 6b894c75b097b4aa324a432b6338f84a0527f84c..d22f9ade8ed43b5e44e505b70e7d2b1d704e211b 100644
--- a/src/test/java/caosdb/CaosDBTestClass.java
+++ b/src/test/java/org/caosdb/CaosDBTestClass.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb;
+package org.caosdb;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/src/test/java/caosdb/datetime/DateTimeTest.java b/src/test/java/org/caosdb/datetime/DateTimeTest.java
similarity index 99%
rename from src/test/java/caosdb/datetime/DateTimeTest.java
rename to src/test/java/org/caosdb/datetime/DateTimeTest.java
index 032ab240eaa083d63acdd033431b6f0d2cfcdfd9..81e0edf748432daf8c023b421b6119a3bf14f2d4 100644
--- a/src/test/java/caosdb/datetime/DateTimeTest.java
+++ b/src/test/java/org/caosdb/datetime/DateTimeTest.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import java.io.IOException;
 import java.sql.SQLException;
 import java.sql.Timestamp;
 import java.time.ZoneId;
 import java.util.GregorianCalendar;
 import java.util.TimeZone;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/Misc.java b/src/test/java/org/caosdb/server/Misc.java
similarity index 97%
rename from src/test/java/caosdb/server/Misc.java
rename to src/test/java/org/caosdb/server/Misc.java
index 2988bae6aa178ace45f41e03da5c54f08114e485..f6d1364644d803abf194532471f9e1775fa990de 100644
--- a/src/test/java/caosdb/server/Misc.java
+++ b/src/test/java/org/caosdb/server/Misc.java
@@ -20,16 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.jobs.core.CheckFileStorageConsistency;
-import caosdb.server.utils.CronJob;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -40,6 +37,9 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.jobs.core.CheckFileStorageConsistency;
+import org.caosdb.server.utils.CronJob;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/accessControl/TestDefaultPamScriptCaller.java b/src/test/java/org/caosdb/server/accessControl/TestDefaultPamScriptCaller.java
similarity index 98%
rename from src/test/java/caosdb/server/accessControl/TestDefaultPamScriptCaller.java
rename to src/test/java/org/caosdb/server/accessControl/TestDefaultPamScriptCaller.java
index bb207aadcdef6ba9fdeecc2b0f32cd9f70a50512..21197f4fa430283898c87741df4c765b28152f33 100644
--- a/src/test/java/caosdb/server/accessControl/TestDefaultPamScriptCaller.java
+++ b/src/test/java/org/caosdb/server/accessControl/TestDefaultPamScriptCaller.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
diff --git a/src/test/java/caosdb/server/authentication/AuthTokenTest.java b/src/test/java/org/caosdb/server/authentication/AuthTokenTest.java
similarity index 92%
rename from src/test/java/caosdb/server/authentication/AuthTokenTest.java
rename to src/test/java/org/caosdb/server/authentication/AuthTokenTest.java
index 9f344889051d8508125dc5f6417d40839c44bd3d..ca19603230bf6aa989c495fbadabd0989c2a9790 100644
--- a/src/test/java/caosdb/server/authentication/AuthTokenTest.java
+++ b/src/test/java/org/caosdb/server/authentication/AuthTokenTest.java
@@ -20,30 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.authentication;
+package org.caosdb.server.authentication;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.Config;
-import caosdb.server.accessControl.OneTimeAuthenticationToken;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.SelfValidatingAuthenticationToken;
-import caosdb.server.accessControl.SessionToken;
-import caosdb.server.accessControl.SessionTokenRealm;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.backend.interfaces.RetrieveUserImpl;
-import caosdb.server.resource.TestScriptingResource.RetrievePasswordValidator;
-import caosdb.server.resource.TestScriptingResource.RetrievePermissionRules;
-import caosdb.server.resource.TestScriptingResource.RetrieveRole;
-import caosdb.server.resource.TestScriptingResource.RetrieveUser;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectReader;
 import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
@@ -57,6 +38,25 @@ import org.apache.commons.io.input.CharSequenceInputStream;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.Config;
+import org.caosdb.server.accessControl.OneTimeAuthenticationToken;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.SelfValidatingAuthenticationToken;
+import org.caosdb.server.accessControl.SessionToken;
+import org.caosdb.server.accessControl.SessionTokenRealm;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveUserImpl;
+import org.caosdb.server.resource.TestScriptingResource.RetrievePasswordValidator;
+import org.caosdb.server.resource.TestScriptingResource.RetrievePermissionRules;
+import org.caosdb.server.resource.TestScriptingResource.RetrieveRole;
+import org.caosdb.server.resource.TestScriptingResource.RetrieveUser;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.BeforeClass;
diff --git a/src/test/java/caosdb/server/caching/TestCaching.java b/src/test/java/org/caosdb/server/caching/TestCaching.java
similarity index 89%
rename from src/test/java/caosdb/server/caching/TestCaching.java
rename to src/test/java/org/caosdb/server/caching/TestCaching.java
index 56d8e750ab75663e29808a0f97962df88006d080..40387790b369a711ff95668821cbe4e64d813150 100644
--- a/src/test/java/caosdb/server/caching/TestCaching.java
+++ b/src/test/java/org/caosdb/server/caching/TestCaching.java
@@ -1,14 +1,14 @@
-package caosdb.server.caching;
+package org.caosdb.server.caching;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.accessControl.Pam;
-import caosdb.server.database.backend.transaction.RetrieveProperties;
 import java.io.IOException;
 import org.apache.commons.jcs.JCS;
 import org.apache.commons.jcs.access.CacheAccess;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.accessControl.Pam;
+import org.caosdb.server.database.backend.transaction.RetrieveProperties;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
diff --git a/src/test/java/caosdb/server/caching/TestNoCaching.java b/src/test/java/org/caosdb/server/caching/TestNoCaching.java
similarity index 78%
rename from src/test/java/caosdb/server/caching/TestNoCaching.java
rename to src/test/java/org/caosdb/server/caching/TestNoCaching.java
index dfab9de67b8c79871b6d2fd70fc6e25a1c231230..bcd2f08f128fe58de760ec9e1abca2b0837e7136 100644
--- a/src/test/java/caosdb/server/caching/TestNoCaching.java
+++ b/src/test/java/org/caosdb/server/caching/TestNoCaching.java
@@ -1,13 +1,13 @@
-package caosdb.server.caching;
+package org.caosdb.server.caching;
 
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.database.backend.transaction.RetrieveProperties;
 import java.io.IOException;
 import org.apache.commons.jcs.JCS;
 import org.apache.commons.jcs.access.CacheAccess;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.database.backend.transaction.RetrieveProperties;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
diff --git a/src/test/java/caosdb/server/database/DatabaseMonitorTest.java b/src/test/java/org/caosdb/server/database/DatabaseMonitorTest.java
similarity index 99%
rename from src/test/java/caosdb/server/database/DatabaseMonitorTest.java
rename to src/test/java/org/caosdb/server/database/DatabaseMonitorTest.java
index 20f2cdf64ca6d17ab1ea9ec40d6e20a942595ce5..554baec079ed17d332dff47f0afb57405913dc33 100644
--- a/src/test/java/caosdb/server/database/DatabaseMonitorTest.java
+++ b/src/test/java/org/caosdb/server/database/DatabaseMonitorTest.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database;
+package org.caosdb.server.database;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/database/InsertTest.java b/src/test/java/org/caosdb/server/database/InsertTest.java
similarity index 96%
rename from src/test/java/caosdb/server/database/InsertTest.java
rename to src/test/java/org/caosdb/server/database/InsertTest.java
index 70fef365c6c88699b5c566ea48c0de2a1c631fa5..7b00cacfe7c3454539cb6823d62bc3af9b4d7ce7 100644
--- a/src/test/java/caosdb/server/database/InsertTest.java
+++ b/src/test/java/org/caosdb/server/database/InsertTest.java
@@ -20,23 +20,23 @@
  *
  * ** end header
  */
-package caosdb.server.database;
+package org.caosdb.server.database;
 
-import static caosdb.server.database.DatabaseUtils.deriveStage1Inserts;
-import static caosdb.server.database.DatabaseUtils.deriveStage2Inserts;
+import static org.caosdb.server.database.DatabaseUtils.deriveStage1Inserts;
+import static org.caosdb.server.database.DatabaseUtils.deriveStage2Inserts;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.server.datatype.CollectionValue;
-import caosdb.server.datatype.GenericValue;
-import caosdb.server.datatype.SingleValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.entity.wrapper.Property;
 import java.util.LinkedList;
+import org.caosdb.server.datatype.CollectionValue;
+import org.caosdb.server.datatype.GenericValue;
+import org.caosdb.server.datatype.SingleValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.entity.wrapper.Property;
 import org.junit.Test;
 
 public class InsertTest {
diff --git a/src/test/java/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java b/src/test/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java
similarity index 87%
rename from src/test/java/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java
rename to src/test/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java
index 78c2ae8206fbe5aac33ee4d9d9d73b2fae5965ef..52b4c951d939f097258ec40ed16b6fd99784f9bd 100644
--- a/src/test/java/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java
+++ b/src/test/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.entity.xml.PropertyToElementStrategyTest;
-import caosdb.server.query.Query.Selection;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.entity.xml.PropertyToElementStrategyTest;
+import org.caosdb.server.query.Query.Selection;
 import org.junit.Test;
 
 public class RetrieveFullEntityTest {
diff --git a/src/test/java/caosdb/server/database/backend/transactions/TestGetAllNames.java b/src/test/java/org/caosdb/server/database/backend/transactions/TestGetAllNames.java
similarity index 73%
rename from src/test/java/caosdb/server/database/backend/transactions/TestGetAllNames.java
rename to src/test/java/org/caosdb/server/database/backend/transactions/TestGetAllNames.java
index 1c67d5cba56cd3bfb1516788a0187f9bc673f5e6..73d434218dcd0962d31a798af510277708cf1a32 100644
--- a/src/test/java/caosdb/server/database/backend/transactions/TestGetAllNames.java
+++ b/src/test/java/org/caosdb/server/database/backend/transactions/TestGetAllNames.java
@@ -1,18 +1,18 @@
-package caosdb.server.database.backend.transactions;
+package org.caosdb.server.database.backend.transactions;
 
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetAllNamesImpl;
-import caosdb.server.database.backend.transaction.GetAllNames;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.EntityInterface;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetAllNamesImpl;
+import org.caosdb.server.database.backend.transaction.GetAllNames;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.EntityInterface;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
diff --git a/src/test/java/caosdb/server/datatype/testBoolean.java b/src/test/java/org/caosdb/server/datatype/testBoolean.java
similarity index 95%
rename from src/test/java/caosdb/server/datatype/testBoolean.java
rename to src/test/java/org/caosdb/server/datatype/testBoolean.java
index 3e20830e9261c70fa3ead33e34d12ed1e9fc2f25..acf0578a332bb4ef21e1ff9eecce4037fc78540c 100644
--- a/src/test/java/caosdb/server/datatype/testBoolean.java
+++ b/src/test/java/org/caosdb/server/datatype/testBoolean.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 import org.junit.Test;
 
 public class testBoolean {
diff --git a/src/test/java/caosdb/server/entity/SelectionTest.java b/src/test/java/org/caosdb/server/entity/SelectionTest.java
similarity index 98%
rename from src/test/java/caosdb/server/entity/SelectionTest.java
rename to src/test/java/org/caosdb/server/entity/SelectionTest.java
index 068a87c48a0257925d120613f83b4741173873d1..0ede3a970be6504ef0a89868aed40e4cadb141d0 100644
--- a/src/test/java/caosdb/server/entity/SelectionTest.java
+++ b/src/test/java/org/caosdb/server/entity/SelectionTest.java
@@ -22,17 +22,17 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.query.Query;
-import caosdb.server.query.Query.Selection;
 import java.io.IOException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.query.Query;
+import org.caosdb.server.query.Query.Selection;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/entity/container/PropertyContainerTest.java b/src/test/java/org/caosdb/server/entity/container/PropertyContainerTest.java
similarity index 86%
rename from src/test/java/caosdb/server/entity/container/PropertyContainerTest.java
rename to src/test/java/org/caosdb/server/entity/container/PropertyContainerTest.java
index 0678e83072a4f6f3f93aacb8a9f4196d5a566c2e..0428af146f7b4a191fa6be679e01af45aff315f2 100644
--- a/src/test/java/caosdb/server/entity/container/PropertyContainerTest.java
+++ b/src/test/java/org/caosdb/server/entity/container/PropertyContainerTest.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.datatype.GenericValue;
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.entity.xml.PropertyToElementStrategyTest;
-import caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.datatype.GenericValue;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.entity.xml.PropertyToElementStrategyTest;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
 import org.jdom2.Element;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/entity/xml/PropertyToElementStrategyTest.java b/src/test/java/org/caosdb/server/entity/xml/PropertyToElementStrategyTest.java
similarity index 91%
rename from src/test/java/caosdb/server/entity/xml/PropertyToElementStrategyTest.java
rename to src/test/java/org/caosdb/server/entity/xml/PropertyToElementStrategyTest.java
index 0d60ebd70feebe2e8e8810f296908e8b3a74100e..99cf2706937dce10b8db3a1305053356587e139a 100644
--- a/src/test/java/caosdb/server/entity/xml/PropertyToElementStrategyTest.java
+++ b/src/test/java/org/caosdb/server/entity/xml/PropertyToElementStrategyTest.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.datatype.GenericValue;
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.query.Query.Selection;
+import org.caosdb.server.datatype.GenericValue;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.query.Query.Selection;
 import org.jdom2.Element;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/jobs/ScheduleTest.java b/src/test/java/org/caosdb/server/jobs/ScheduleTest.java
similarity index 97%
rename from src/test/java/caosdb/server/jobs/ScheduleTest.java
rename to src/test/java/org/caosdb/server/jobs/ScheduleTest.java
index 73c27d95af64b70d63ec8d1bed7fab0c0d41ffaa..7ad1d6112e8b7bd3a29042d5f6ca82709ae4100a 100644
--- a/src/test/java/caosdb/server/jobs/ScheduleTest.java
+++ b/src/test/java/org/caosdb/server/jobs/ScheduleTest.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
 import static org.junit.Assert.fail;
 
diff --git a/src/test/java/caosdb/server/jobs/core/TestInsertFilesInDir.java b/src/test/java/org/caosdb/server/jobs/core/TestInsertFilesInDir.java
similarity index 92%
rename from src/test/java/caosdb/server/jobs/core/TestInsertFilesInDir.java
rename to src/test/java/org/caosdb/server/jobs/core/TestInsertFilesInDir.java
index 37cad0eca28a50b006985a73edb07e45b60fdf9e..ae5df853ba5d29e681cd0fb0e5ec8eee6ec3462c 100644
--- a/src/test/java/caosdb/server/jobs/core/TestInsertFilesInDir.java
+++ b/src/test/java/org/caosdb/server/jobs/core/TestInsertFilesInDir.java
@@ -1,4 +1,4 @@
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
 import static org.junit.Assert.assertTrue;
 
diff --git a/src/test/java/caosdb/server/logging/TestLogging.java b/src/test/java/org/caosdb/server/logging/TestLogging.java
similarity index 95%
rename from src/test/java/caosdb/server/logging/TestLogging.java
rename to src/test/java/org/caosdb/server/logging/TestLogging.java
index 6e35d96585683d99c81a0fc2c669d4dc977bc09a..577222dee61759017d1a13fafd390a6e0f7850ed 100644
--- a/src/test/java/caosdb/server/logging/TestLogging.java
+++ b/src/test/java/org/caosdb/server/logging/TestLogging.java
@@ -1,9 +1,9 @@
-package caosdb.server.logging;
+package org.caosdb.server.logging;
 
-import caosdb.server.CaosDBServer;
 import java.io.File;
 import java.io.IOException;
 import org.apache.commons.io.FileUtils;
+import org.caosdb.server.CaosDBServer;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/permissions/EntityACLTest.java b/src/test/java/org/caosdb/server/permissions/EntityACLTest.java
similarity index 92%
rename from src/test/java/caosdb/server/permissions/EntityACLTest.java
rename to src/test/java/org/caosdb/server/permissions/EntityACLTest.java
index 6aae2257e5623d072c5f60e5991a5cb0248ecf74..0e0e3ee121b09332b6cbb7d86a22458bb5fbf17f 100644
--- a/src/test/java/caosdb/server/permissions/EntityACLTest.java
+++ b/src/test/java/org/caosdb/server/permissions/EntityACLTest.java
@@ -20,32 +20,32 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.Config;
-import caosdb.server.accessControl.OneTimeAuthenticationToken;
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.resource.AbstractCaosDBServerResource;
-import caosdb.server.resource.AbstractCaosDBServerResource.XMLParser;
-import caosdb.server.utils.Utils;
 import java.io.IOException;
 import java.util.BitSet;
 import java.util.HashSet;
 import java.util.LinkedList;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.Config;
+import org.caosdb.server.accessControl.OneTimeAuthenticationToken;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.resource.AbstractCaosDBServerResource;
+import org.caosdb.server.resource.AbstractCaosDBServerResource.XMLParser;
+import org.caosdb.server.utils.Utils;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
 import org.junit.Assert;
@@ -309,14 +309,14 @@ public class EntityACLTest {
   public void testFactory() {
     final EntityACLFactory f = new EntityACLFactory();
 
-    caosdb.server.permissions.Role role1 = caosdb.server.permissions.Role.create("role1");
+    org.caosdb.server.permissions.Role role1 = org.caosdb.server.permissions.Role.create("role1");
     Config config1 = new Config();
     config1.setRoles(new String[] {role1.toString()});
     OneTimeAuthenticationToken token1 = OneTimeAuthenticationToken.generate(config1);
     Subject user1 = SecurityUtils.getSecurityManager().createSubject(null);
     user1.login(token1);
 
-    caosdb.server.permissions.Role role2 = caosdb.server.permissions.Role.create("role2");
+    org.caosdb.server.permissions.Role role2 = org.caosdb.server.permissions.Role.create("role2");
     Config config2 = new Config();
     config2.setRoles(new String[] {role2.toString()});
     OneTimeAuthenticationToken token2 = OneTimeAuthenticationToken.generate(config2);
diff --git a/src/test/java/caosdb/server/query/TestCQL.java b/src/test/java/org/caosdb/server/query/TestCQL.java
similarity index 99%
rename from src/test/java/caosdb/server/query/TestCQL.java
rename to src/test/java/org/caosdb/server/query/TestCQL.java
index 402cddd2be631291d772d494804cf21bc9dbc6b7..2264c9f02233c5462339615e142c38e2df4eb033 100644
--- a/src/test/java/caosdb/server/query/TestCQL.java
+++ b/src/test/java/org/caosdb/server/query/TestCQL.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -29,14 +29,6 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.query.CQLParser.CqContext;
-import caosdb.server.query.Query.Pattern;
-import caosdb.server.query.Query.QueryException;
-import caosdb.server.utils.Initialization;
 import java.io.IOException;
 import java.sql.SQLException;
 import java.util.LinkedList;
@@ -45,6 +37,14 @@ import org.antlr.v4.runtime.CharStreams;
 import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.Token;
 import org.antlr.v4.runtime.tree.ParseTree;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.query.CQLParser.CqContext;
+import org.caosdb.server.query.Query.Pattern;
+import org.caosdb.server.query.Query.QueryException;
+import org.caosdb.server.utils.Initialization;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
diff --git a/src/test/java/caosdb/server/resource/FileSystemResourceTest.java b/src/test/java/org/caosdb/server/resource/FileSystemResourceTest.java
similarity index 97%
rename from src/test/java/caosdb/server/resource/FileSystemResourceTest.java
rename to src/test/java/org/caosdb/server/resource/FileSystemResourceTest.java
index 31d6c6a6c4c7caf4d388a6df1404430e93a01d0f..ed89c68ae554c0f7718ccabcb6fb2b48c0d59e61 100644
--- a/src/test/java/caosdb/server/resource/FileSystemResourceTest.java
+++ b/src/test/java/org/caosdb/server/resource/FileSystemResourceTest.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import java.io.File;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/resource/TestAbstractCaosDBServerResource.java b/src/test/java/org/caosdb/server/resource/TestAbstractCaosDBServerResource.java
similarity index 85%
rename from src/test/java/caosdb/server/resource/TestAbstractCaosDBServerResource.java
rename to src/test/java/org/caosdb/server/resource/TestAbstractCaosDBServerResource.java
index 59f0a1d5812b1127ea0ff4514520bc30039af5cd..a2f6646b3a450e2cf3328692cd109eaaed49f87c 100644
--- a/src/test/java/caosdb/server/resource/TestAbstractCaosDBServerResource.java
+++ b/src/test/java/org/caosdb/server/resource/TestAbstractCaosDBServerResource.java
@@ -1,22 +1,8 @@
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.AnonymousRealm;
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.permissions.PermissionRule;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Paths;
@@ -26,6 +12,20 @@ import java.util.HashSet;
 import org.apache.shiro.mgt.DefaultSecurityManager;
 import org.apache.shiro.subject.Subject;
 import org.apache.shiro.subject.support.DelegatingSubject;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.AnonymousRealm;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.permissions.PermissionRule;
 import org.jdom2.Element;
 import org.junit.BeforeClass;
 import org.junit.Rule;
diff --git a/src/test/java/caosdb/server/resource/TestScriptingResource.java b/src/test/java/org/caosdb/server/resource/TestScriptingResource.java
similarity index 86%
rename from src/test/java/caosdb/server/resource/TestScriptingResource.java
rename to src/test/java/org/caosdb/server/resource/TestScriptingResource.java
index 3280ae3af5a62174006b504408d7c3bde8a2632e..845f589a9700a9d3d25eb8da2878c13ee114cd7d 100644
--- a/src/test/java/caosdb/server/resource/TestScriptingResource.java
+++ b/src/test/java/org/caosdb/server/resource/TestScriptingResource.java
@@ -20,29 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.CredentialsValidator;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.Role;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.backend.interfaces.RetrieveUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.database.proto.ProtoUser;
-import caosdb.server.entity.Message;
-import caosdb.server.permissions.PermissionRule;
-import caosdb.server.scripting.ScriptingPermissions;
-import caosdb.server.scripting.ServerSideScriptingCaller;
 import java.io.IOException;
 import java.util.Date;
 import java.util.HashSet;
@@ -50,6 +31,25 @@ import java.util.List;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authz.permission.WildcardPermission;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.CredentialsValidator;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.permissions.PermissionRule;
+import org.caosdb.server.scripting.ScriptingPermissions;
+import org.caosdb.server.scripting.ServerSideScriptingCaller;
 import org.jdom2.Element;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -172,7 +172,7 @@ public class TestScriptingResource {
         public int callScript(
             java.util.List<String> invokation,
             Integer timeout_ms,
-            java.util.List<caosdb.server.entity.FileProperties> files,
+            java.util.List<org.caosdb.server.entity.FileProperties> files,
             Object authToken)
             throws Message {
           if (invokation.get(0).equals("anonymous_ok")) {
diff --git a/src/test/java/caosdb/server/resource/TestSharedFileResource.java b/src/test/java/org/caosdb/server/resource/TestSharedFileResource.java
similarity index 96%
rename from src/test/java/caosdb/server/resource/TestSharedFileResource.java
rename to src/test/java/org/caosdb/server/resource/TestSharedFileResource.java
index 41e134d28aed98c0fb01bee256bce513bb43f13e..f016f59191f6d9449cc4a4dc9ef3e84075205a0a 100644
--- a/src/test/java/caosdb/server/resource/TestSharedFileResource.java
+++ b/src/test/java/org/caosdb/server/resource/TestSharedFileResource.java
@@ -20,7 +20,7 @@
  * ** end header
  */
 
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -28,11 +28,6 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.ServerProperties;
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.AnonymousRealm;
 import java.io.File;
 import java.io.IOException;
 import java.nio.file.Files;
@@ -42,6 +37,11 @@ import net.jcip.annotations.NotThreadSafe;
 import org.apache.shiro.mgt.DefaultSecurityManager;
 import org.apache.shiro.subject.Subject;
 import org.apache.shiro.subject.support.DelegatingSubject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.AnonymousRealm;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Rule;
diff --git a/src/test/java/caosdb/server/scripting/TestServerSideScriptingCaller.java b/src/test/java/org/caosdb/server/scripting/TestServerSideScriptingCaller.java
similarity index 98%
rename from src/test/java/caosdb/server/scripting/TestServerSideScriptingCaller.java
rename to src/test/java/org/caosdb/server/scripting/TestServerSideScriptingCaller.java
index f752c29c2f99b33d30a75ff3e09c7043c92fc464..28fdd55e78db1a2142b5eac86327617b8f371089 100644
--- a/src/test/java/caosdb/server/scripting/TestServerSideScriptingCaller.java
+++ b/src/test/java/org/caosdb/server/scripting/TestServerSideScriptingCaller.java
@@ -20,19 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.scripting;
+package org.caosdb.server.scripting;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.CaosDBTestClass;
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -43,6 +36,13 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 import org.apache.commons.io.FileUtils;
+import org.caosdb.CaosDBTestClass;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 import org.hamcrest.BaseMatcher;
 import org.hamcrest.Description;
 import org.junit.After;
diff --git a/src/test/java/caosdb/server/transaction/UpdateTest.java b/src/test/java/org/caosdb/server/transaction/UpdateTest.java
similarity index 92%
rename from src/test/java/caosdb/server/transaction/UpdateTest.java
rename to src/test/java/org/caosdb/server/transaction/UpdateTest.java
index d90724744164b23ecdd7a27b90cddac1e048f86f..6b0e7b3f988f18142c6ebdb535212cd7454233f0 100644
--- a/src/test/java/caosdb/server/transaction/UpdateTest.java
+++ b/src/test/java/org/caosdb/server/transaction/UpdateTest.java
@@ -20,21 +20,21 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import static caosdb.server.utils.EntityStatus.QUALIFIED;
-import static caosdb.server.utils.EntityStatus.VALID;
+import static org.caosdb.server.utils.EntityStatus.QUALIFIED;
+import static org.caosdb.server.utils.EntityStatus.VALID;
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.datatype.GenericValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.utils.EntityStatus;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.datatype.GenericValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.utils.EntityStatus;
 import org.junit.Test;
 
 public class UpdateTest {
diff --git a/src/test/java/caosdb/server/utils/FileUtilsTest.java b/src/test/java/org/caosdb/server/utils/FileUtilsTest.java
similarity index 96%
rename from src/test/java/caosdb/server/utils/FileUtilsTest.java
rename to src/test/java/org/caosdb/server/utils/FileUtilsTest.java
index e4b2411dc0e77ce0225c0637422c84bbab2cc4aa..7e0664f3df401f916ed48c6830271334083a5ac4 100644
--- a/src/test/java/caosdb/server/utils/FileUtilsTest.java
+++ b/src/test/java/org/caosdb/server/utils/FileUtilsTest.java
@@ -20,25 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.ServerProperties;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemGetFileIterator.FileNameIterator;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemHelper;
-import caosdb.server.database.backend.transaction.FileConsistencyCheck;
-import caosdb.server.database.backend.transaction.GetFileIterator;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintStream;
@@ -47,6 +35,18 @@ import java.security.NoSuchAlgorithmException;
 import java.util.Iterator;
 import java.util.regex.Pattern;
 import net.jcip.annotations.NotThreadSafe;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemGetFileIterator.FileNameIterator;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemHelper;
+import org.caosdb.server.database.backend.transaction.FileConsistencyCheck;
+import org.caosdb.server.database.backend.transaction.GetFileIterator;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
 import org.eclipse.jetty.io.RuntimeIOException;
 import org.junit.After;
 import org.junit.AfterClass;
diff --git a/src/test/java/caosdb/server/utils/UtilsTest.java b/src/test/java/org/caosdb/server/utils/UtilsTest.java
similarity index 98%
rename from src/test/java/caosdb/server/utils/UtilsTest.java
rename to src/test/java/org/caosdb/server/utils/UtilsTest.java
index c75d5a3ad861ac5b4c5ff9dfc905767479fb1a4f..3b92a11d69b465c33ddc9629d89c6d91e6f456e0 100644
--- a/src/test/java/caosdb/server/utils/UtilsTest.java
+++ b/src/test/java/org/caosdb/server/utils/UtilsTest.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/src/test/java/caosdb/server/utils/WebinterfaceUtilsTest.java b/src/test/java/org/caosdb/server/utils/WebinterfaceUtilsTest.java
similarity index 93%
rename from src/test/java/caosdb/server/utils/WebinterfaceUtilsTest.java
rename to src/test/java/org/caosdb/server/utils/WebinterfaceUtilsTest.java
index 075c8d998acdfc7f897f9429de468034a4dc022e..9231dd77a6724b5a8c5f7f4f244bd92c6f4a5e91 100644
--- a/src/test/java/caosdb/server/utils/WebinterfaceUtilsTest.java
+++ b/src/test/java/org/caosdb/server/utils/WebinterfaceUtilsTest.java
@@ -1,12 +1,12 @@
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import java.io.IOException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 import org.junit.BeforeClass;
 import org.junit.Rule;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/utils/fsm/TestFiniteStateMachine.java b/src/test/java/org/caosdb/server/utils/fsm/TestFiniteStateMachine.java
similarity index 98%
rename from src/test/java/caosdb/server/utils/fsm/TestFiniteStateMachine.java
rename to src/test/java/org/caosdb/server/utils/fsm/TestFiniteStateMachine.java
index 3849df7dc66f8f812c36b0a4b49dcb2774d034b3..2a7b726b84464f3a7d287434b2767a34baaf4b50 100644
--- a/src/test/java/caosdb/server/utils/fsm/TestFiniteStateMachine.java
+++ b/src/test/java/org/caosdb/server/utils/fsm/TestFiniteStateMachine.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/src/test/java/caosdb/server/utils/fsm/TestStrategyFiniteStateMachine.java b/src/test/java/org/caosdb/server/utils/fsm/TestStrategyFiniteStateMachine.java
similarity index 97%
rename from src/test/java/caosdb/server/utils/fsm/TestStrategyFiniteStateMachine.java
rename to src/test/java/org/caosdb/server/utils/fsm/TestStrategyFiniteStateMachine.java
index 8d383383dd4a896f0befa1b3c2b1854129377353..ebf719b1eaa4b56f3b64bdd9371f121231b4ed68 100644
--- a/src/test/java/caosdb/server/utils/fsm/TestStrategyFiniteStateMachine.java
+++ b/src/test/java/org/caosdb/server/utils/fsm/TestStrategyFiniteStateMachine.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/src/test/java/caosdb/server/utils/mail/TestMail.java b/src/test/java/org/caosdb/server/utils/mail/TestMail.java
similarity index 90%
rename from src/test/java/caosdb/server/utils/mail/TestMail.java
rename to src/test/java/org/caosdb/server/utils/mail/TestMail.java
index 2bdc90de64e58a81bafbbd7c484677b5bf54eb7a..5d7ba41089ee71d6ca4eff529bf6ce1ca0828b92 100644
--- a/src/test/java/caosdb/server/utils/mail/TestMail.java
+++ b/src/test/java/org/caosdb/server/utils/mail/TestMail.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
-import caosdb.CaosDBTestClass;
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import java.io.IOException;
+import org.caosdb.CaosDBTestClass;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 import org.junit.BeforeClass;
 import org.junit.Test;