diff --git a/SLIC/.gitignore b/SLIC/.gitignore
index 966b6392642cecda2fe31cbad66206edf7296202..34ef6b1bc2942265008040c686460cf675dc44a2 100644
--- a/SLIC/.gitignore
+++ b/SLIC/.gitignore
@@ -4,3 +4,4 @@
 /.classpath
 /.project
 /build/
+/ecbuild/
diff --git a/SLIC/build.gradle b/SLIC/build.gradle
index f54db0661e4f1a9d8f1afe6048f03e9999cbe728..9c8f93fc2cac74b4a1fc2ba061c01d7b85097a50 100644
--- a/SLIC/build.gradle
+++ b/SLIC/build.gradle
@@ -1,68 +1,66 @@
-apply plugin: 'java'
+apply plugin: 'java-library'
 apply plugin: 'eclipse'
 
 version = '0.1.0'
-println project.name
+
+println "ICY_HOME=${System.env.ICY_HOME}"
+println project.name + " " + version
 
 configurations {
-	extraLibs // configuration that holds jars to include in the jar
+  extraLibs // configuration that holds jars to include in the jar
+  implementation.extendsFrom(extraLibs)
 }
 
 repositories {
-    mavenCentral()
-    jcenter()
+  mavenCentral()
+  jcenter()
 }
 
-println "ICY_HOME=${System.env.ICY_HOME}"
 dependencies {
-	extraLibs 'org.slf4j:slf4j-api:1.7.21'
-	
-	configurations.implementation.extendsFrom(configurations.extraLibs)
-    
-    compile files("${System.env.ICY_HOME}/icy.jar") // Icy core
-    compile files("${System.env.ICY_HOME}/lib/bioformats.jar") // bioformats
-    compile files("${System.env.ICY_HOME}/plugins/adufour/ezplug/EzPlug.jar") // EzPlug
-    compile files("${System.env.ICY_HOME}/plugins/adufour/blocks/Blocks.jar") // Blocks
-    compile files("${System.env.ICY_HOME}/plugins/adufour/protocols/Protocols.jar") // Protocols
+  extraLibs 'org.slf4j:slf4j-api:1.7.21'
 
-    testCompile 'junit:junit:4.12'
-}
+  implementation files("${System.env.ICY_HOME}/icy.jar") // Icy core
+  implementation files("${System.env.ICY_HOME}/lib/bioformats.jar") // bioformats
+  implementation files("${System.env.ICY_HOME}/plugins/adufour/ezplug/EzPlug.jar") // EzPlug
+  implementation files("${System.env.ICY_HOME}/plugins/adufour/blocks/Blocks.jar") // Blocks
+  implementation files("${System.env.ICY_HOME}/plugins/adufour/protocols/Protocols.jar") // Protocols
 
-// In this section source and test files are declared
-sourceSets {
-    main {
-        java {
-            srcDirs = ['src']
-            resources.srcDirs = ['res']
-        }
-        test {
-            java.srcDirs = ['test']
-            resources.srcDirs = ['res']
-        }
-        
-    }
+  testImplementation 'junit:junit:4.12'
 }
 
 // In this section we add the icy nature of the project in eclipse
 eclipse {
+  classpath{
+    defaultOutputDir = file("ecbuild")
+    file.whenMerged {
+      entries.each {
+        source ->
+          // This seems kludgy.  If the second test is omitted, it fails processing a 'Project Dependency' entry
+          if (source.kind == 'src' && source.toString().contains('output')) {
+            source.output = 'ecbuild'
+          }
+      }
+    }
+    downloadJavadoc = true
+  }
   project {
     natures += ['icy.icy4eclipse.core.icynature']
   }
 }
 
 task sourcesJar(type: Jar) {
-	classifier = 'sources'
-	from sourceSets.main.output
-	from sourceSets.main.java
-	from configurations.extraLibs.collect { it.isDirectory() ? it : zipTree(it) }
+  classifier = 'sources'
+  from sourceSets.main.output
+  from sourceSets.main.java
+  from configurations.extraLibs.collect { it.isDirectory() ? it : zipTree(it) }
 }
 
 task javadocJar(type: Jar, dependsOn: javadoc) {
-    classifier = 'javadoc'
-    from javadoc.destinationDir
+  classifier = 'javadoc'
+  from javadoc.destinationDir
 }
 
 artifacts {
-    archives sourcesJar
-    archives javadocJar
+  archives sourcesJar
+  archives javadocJar
 }
\ No newline at end of file
diff --git a/SLIC/src/algorithms/danyfel80/islic/CIELab.java b/SLIC/src/main/java/algorithms/danyfel80/islic/CIELab.java
similarity index 100%
rename from SLIC/src/algorithms/danyfel80/islic/CIELab.java
rename to SLIC/src/main/java/algorithms/danyfel80/islic/CIELab.java
diff --git a/SLIC/src/algorithms/danyfel80/islic/SLICTask.java b/SLIC/src/main/java/algorithms/danyfel80/islic/SLICTask.java
similarity index 100%
rename from SLIC/src/algorithms/danyfel80/islic/SLICTask.java
rename to SLIC/src/main/java/algorithms/danyfel80/islic/SLICTask.java
diff --git a/SLIC/src/plugins/danyfel80/islic/LABToRGB.java b/SLIC/src/main/java/plugins/danyfel80/islic/LABToRGB.java
similarity index 100%
rename from SLIC/src/plugins/danyfel80/islic/LABToRGB.java
rename to SLIC/src/main/java/plugins/danyfel80/islic/LABToRGB.java
diff --git a/SLIC/src/plugins/danyfel80/islic/RGBToLAB.java b/SLIC/src/main/java/plugins/danyfel80/islic/RGBToLAB.java
similarity index 100%
rename from SLIC/src/plugins/danyfel80/islic/RGBToLAB.java
rename to SLIC/src/main/java/plugins/danyfel80/islic/RGBToLAB.java
diff --git a/SLIC/src/plugins/danyfel80/islic/SLIC.java b/SLIC/src/main/java/plugins/danyfel80/islic/SLIC.java
similarity index 100%
rename from SLIC/src/plugins/danyfel80/islic/SLIC.java
rename to SLIC/src/main/java/plugins/danyfel80/islic/SLIC.java