diff --git a/file-transfer/build.gradle b/lib-file-download/file-transfer/build.gradle similarity index 100% rename from file-transfer/build.gradle rename to lib-file-download/file-transfer/build.gradle diff --git a/file-transfer/gradle/wrapper/gradle-wrapper.jar b/lib-file-download/file-transfer/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from file-transfer/gradle/wrapper/gradle-wrapper.jar rename to lib-file-download/file-transfer/gradle/wrapper/gradle-wrapper.jar diff --git a/file-transfer/gradle/wrapper/gradle-wrapper.properties b/lib-file-download/file-transfer/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from file-transfer/gradle/wrapper/gradle-wrapper.properties rename to lib-file-download/file-transfer/gradle/wrapper/gradle-wrapper.properties diff --git a/file-transfer/gradlew b/lib-file-download/file-transfer/gradlew similarity index 100% rename from file-transfer/gradlew rename to lib-file-download/file-transfer/gradlew diff --git a/file-transfer/gradlew.bat b/lib-file-download/file-transfer/gradlew.bat similarity index 100% rename from file-transfer/gradlew.bat rename to lib-file-download/file-transfer/gradlew.bat diff --git a/file-transfer/javaproject.gradle b/lib-file-download/file-transfer/javaproject.gradle similarity index 100% rename from file-transfer/javaproject.gradle rename to lib-file-download/file-transfer/javaproject.gradle diff --git a/file-transfer/repository.gradle b/lib-file-download/file-transfer/repository.gradle similarity index 100% rename from file-transfer/repository.gradle rename to lib-file-download/file-transfer/repository.gradle diff --git a/file-transfer/settings.gradle b/lib-file-download/file-transfer/settings.gradle similarity index 100% rename from file-transfer/settings.gradle rename to lib-file-download/file-transfer/settings.gradle diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/AbstractBulkInputStream.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/AbstractBulkInputStream.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/AbstractBulkInputStream.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/AbstractBulkInputStream.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/AbstractId.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/AbstractId.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/AbstractId.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/AbstractId.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/AbstractLogger.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/AbstractLogger.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/AbstractLogger.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/AbstractLogger.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/Chunk.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/Chunk.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/Chunk.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/Chunk.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/ChunkInputStream.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/ChunkInputStream.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/ChunkInputStream.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/ChunkInputStream.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/ConsoleLogger.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/ConsoleLogger.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/ConsoleLogger.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/ConsoleLogger.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultChunkDeserializer.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultChunkDeserializer.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultChunkDeserializer.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultChunkDeserializer.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultChunkSerializer.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultChunkSerializer.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultChunkSerializer.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultChunkSerializer.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultDeserializerProvider.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultDeserializerProvider.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultDeserializerProvider.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultDeserializerProvider.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultRetryProvider.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultRetryProvider.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultRetryProvider.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultRetryProvider.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultSerializerProvider.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultSerializerProvider.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultSerializerProvider.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DefaultSerializerProvider.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadClient.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadClient.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadClient.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadClient.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadClientConfig.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadClientConfig.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadClientConfig.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadClientConfig.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadClientDownload.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadClientDownload.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadClientDownload.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadClientDownload.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadException.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadException.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadException.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadException.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadInputStream.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadInputStream.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadInputStream.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadInputStream.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadInputStreamReader.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadInputStreamReader.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadInputStreamReader.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadInputStreamReader.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadItemId.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadItemId.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadItemId.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadItemId.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadItemNotFoundException.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadItemNotFoundException.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadItemNotFoundException.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadItemNotFoundException.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadListenerAdapter.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadListenerAdapter.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadListenerAdapter.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadListenerAdapter.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadPreferences.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadPreferences.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadPreferences.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadPreferences.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadRange.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadRange.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadRange.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadRange.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadServer.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadServer.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadServer.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadServer.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadServerConfig.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadServerConfig.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadServerConfig.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadServerConfig.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadServerDownload.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadServerDownload.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadServerDownload.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadServerDownload.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadSession.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadSession.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadSession.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadSession.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadSessionId.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadSessionId.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadSessionId.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadSessionId.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadState.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadState.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadState.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadState.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadStatus.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadStatus.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadStatus.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadStatus.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadStreamId.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadStreamId.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadStreamId.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/DownloadStreamId.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/FileChunk.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/FileChunk.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/FileChunk.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/FileChunk.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/FileSystemChunkProvider.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/FileSystemChunkProvider.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/FileSystemChunkProvider.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/FileSystemChunkProvider.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/FileSystemDownloadStore.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/FileSystemDownloadStore.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/FileSystemDownloadStore.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/FileSystemDownloadStore.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkDeserializer.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkDeserializer.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkDeserializer.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkDeserializer.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkProvider.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkProvider.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkProvider.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkProvider.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkQueue.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkQueue.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkQueue.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkQueue.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkSerializer.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkSerializer.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkSerializer.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IChunkSerializer.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IConcurrencyProvider.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IConcurrencyProvider.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IConcurrencyProvider.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IConcurrencyProvider.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IDeserializerProvider.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDeserializerProvider.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IDeserializerProvider.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDeserializerProvider.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IDeserializerProviderFactory.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDeserializerProviderFactory.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IDeserializerProviderFactory.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDeserializerProviderFactory.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadItemId.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadItemId.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadItemId.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadItemId.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadItemIdDeserializer.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadItemIdDeserializer.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadItemIdDeserializer.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadItemIdDeserializer.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadItemIdSerializer.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadItemIdSerializer.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadItemIdSerializer.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadItemIdSerializer.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadListener.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadListener.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadListener.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadListener.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadServer.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadServer.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadServer.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadServer.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadStore.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadStore.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadStore.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadStore.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadStoreFactory.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadStoreFactory.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadStoreFactory.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IDownloadStoreFactory.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/ILogger.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/ILogger.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/ILogger.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/ILogger.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IRetryAction.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IRetryAction.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IRetryAction.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IRetryAction.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IRetryProvider.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IRetryProvider.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IRetryProvider.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IRetryProvider.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IRetryProviderFactory.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IRetryProviderFactory.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IRetryProviderFactory.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IRetryProviderFactory.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/ISerializerProvider.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/ISerializerProvider.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/ISerializerProvider.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/ISerializerProvider.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IUserSessionId.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IUserSessionId.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IUserSessionId.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IUserSessionId.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/IUserSessionManager.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IUserSessionManager.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/IUserSessionManager.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/IUserSessionManager.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/InvalidDownloadSessionException.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/InvalidDownloadSessionException.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/InvalidDownloadSessionException.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/InvalidDownloadSessionException.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/InvalidDownloadStreamException.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/InvalidDownloadStreamException.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/InvalidDownloadStreamException.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/InvalidDownloadStreamException.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/InvalidUserSessionException.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/InvalidUserSessionException.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/InvalidUserSessionException.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/InvalidUserSessionException.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/LogLevel.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/LogLevel.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/LogLevel.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/LogLevel.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/NullLogger.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/NullLogger.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/NullLogger.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/NullLogger.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/PayloadInputStream.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/PayloadInputStream.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/PayloadInputStream.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/PayloadInputStream.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/ToString.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/ToString.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/ToString.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/ToString.java diff --git a/file-transfer/source/java/ch/ethz/sis/filetransfer/UserSessionId.java b/lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/UserSessionId.java similarity index 100% rename from file-transfer/source/java/ch/ethz/sis/filetransfer/UserSessionId.java rename to lib-file-download/file-transfer/source/java/ch/ethz/sis/filetransfer/UserSessionId.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/ChunkInputStreamTest.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/ChunkInputStreamTest.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/ChunkInputStreamTest.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/ChunkInputStreamTest.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/DownloadClientTest.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/DownloadClientTest.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/DownloadClientTest.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/DownloadClientTest.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/DownloadExample.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/DownloadExample.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/DownloadExample.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/DownloadExample.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/DownloadInputStreamTest.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/DownloadInputStreamTest.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/DownloadInputStreamTest.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/DownloadInputStreamTest.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/FailingDownloadServer.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/FailingDownloadServer.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/FailingDownloadServer.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/FailingDownloadServer.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/FailingDownloadStore.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/FailingDownloadStore.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/FailingDownloadStore.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/FailingDownloadStore.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/FailureGenerator.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/FailureGenerator.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/FailureGenerator.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/FailureGenerator.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/HttpDownloadServer.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/HttpDownloadServer.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/HttpDownloadServer.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/HttpDownloadServer.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/InconsistentCRCDownloadServer.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/InconsistentCRCDownloadServer.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/InconsistentCRCDownloadServer.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/InconsistentCRCDownloadServer.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/PayloadInputStreamTest.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/PayloadInputStreamTest.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/PayloadInputStreamTest.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/PayloadInputStreamTest.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/RecordingLogger.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/RecordingLogger.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/RecordingLogger.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/RecordingLogger.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/StreamTestUtils.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/StreamTestUtils.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/StreamTestUtils.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/StreamTestUtils.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestAssertions.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestAssertions.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestAssertions.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestAssertions.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestChunkProvider.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestChunkProvider.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestChunkProvider.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestChunkProvider.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestConcurrencyProvider.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestConcurrencyProvider.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestConcurrencyProvider.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestConcurrencyProvider.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadItemId.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadItemId.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadItemId.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadItemId.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadItemIdDeserializer.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadItemIdDeserializer.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadItemIdDeserializer.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadItemIdDeserializer.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadItemIdSerializer.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadItemIdSerializer.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadItemIdSerializer.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadItemIdSerializer.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadStore.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadStore.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadStore.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestDownloadStore.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestInputStream.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestInputStream.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestInputStream.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestInputStream.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestLogger.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestLogger.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestLogger.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestLogger.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestUserSession.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestUserSession.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestUserSession.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestUserSession.java diff --git a/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestUserSessionManager.java b/lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestUserSessionManager.java similarity index 100% rename from file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestUserSessionManager.java rename to lib-file-download/file-transfer/sourceTest/java/ch/ethz/sis/filetransfer/TestUserSessionManager.java diff --git a/file-transfer/sourceTest/java/tests.xml b/lib-file-download/file-transfer/sourceTest/java/tests.xml similarity index 100% rename from file-transfer/sourceTest/java/tests.xml rename to lib-file-download/file-transfer/sourceTest/java/tests.xml diff --git a/file-transfer/sourceTest/test-files/testFile1.txt b/lib-file-download/file-transfer/sourceTest/test-files/testFile1.txt similarity index 100% rename from file-transfer/sourceTest/test-files/testFile1.txt rename to lib-file-download/file-transfer/sourceTest/test-files/testFile1.txt diff --git a/file-transfer/sourceTest/test-files/testFile2.txt b/lib-file-download/file-transfer/sourceTest/test-files/testFile2.txt similarity index 100% rename from file-transfer/sourceTest/test-files/testFile2.txt rename to lib-file-download/file-transfer/sourceTest/test-files/testFile2.txt diff --git a/file-transfer/sourceTest/test-files/testFolder/testFile3.txt b/lib-file-download/file-transfer/sourceTest/test-files/testFolder/testFile3.txt similarity index 100% rename from file-transfer/sourceTest/test-files/testFolder/testFile3.txt rename to lib-file-download/file-transfer/sourceTest/test-files/testFolder/testFile3.txt diff --git a/file-transfer/sourceTest/test-files/testFolder/testFile4.txt b/lib-file-download/file-transfer/sourceTest/test-files/testFolder/testFile4.txt similarity index 100% rename from file-transfer/sourceTest/test-files/testFolder/testFile4.txt rename to lib-file-download/file-transfer/sourceTest/test-files/testFolder/testFile4.txt diff --git a/file-transfer/sourceTest/test-files/testFolder/testFolder2/testFile5.txt b/lib-file-download/file-transfer/sourceTest/test-files/testFolder/testFolder2/testFile5.txt similarity index 100% rename from file-transfer/sourceTest/test-files/testFolder/testFolder2/testFile5.txt rename to lib-file-download/file-transfer/sourceTest/test-files/testFolder/testFolder2/testFile5.txt