diff --git a/src/main/java/no/nibio/vips/model/factory/ModelFactory.java b/src/main/java/no/nibio/vips/model/factory/ModelFactory.java
index c49e78217d44b1ef6a0b1df2ece4fd5d65674170..635339f6797026a497f6ffb61fd48046e23c220f 100755
--- a/src/main/java/no/nibio/vips/model/factory/ModelFactory.java
+++ b/src/main/java/no/nibio/vips/model/factory/ModelFactory.java
@@ -18,9 +18,6 @@
 
 package no.nibio.vips.model.factory;
 
-import io.github.classgraph.ClassGraph;
-import io.github.classgraph.ClassInfo;
-import io.github.classgraph.ScanResult;
 import java.lang.reflect.InvocationTargetException;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -28,6 +25,9 @@ import java.util.Map;
 import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import io.github.classgraph.ClassGraph;
+import io.github.classgraph.ClassInfo;
+import io.github.classgraph.ScanResult;
 import no.nibio.vips.model.Model;
 
 /**
@@ -96,34 +96,6 @@ public class ModelFactory {
      * Builds an inventory. 
      */
     private void init(){
-        /* 
-         * Reflections API insists on using at least one package prefix. So we scan
-         * through all TLDs. List is compiled from 
-         * http://en.wikipedia.org/wiki/List_of_Internet_top-level_domains
-         */ 
-        String[] defaultTopDomains = {
-            "aero","asia","biz","cat","com","coop","info","int","jobs","mobi",
-            "museum","name","net","org","post","pro","tel","travel","edu","gov",
-            "ac","ad","ae","af","ag","ai","al","am","an","ao","aq","ar","as","at",
-            "au","aw","ax","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bm",
-            "bn","bo","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg",
-            "ch","ci","ck","cl","cm","cn","co","cr","cs","cu","cv","cx","cy","cz",
-            "dd","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et",
-            "eu","fi","fj","fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh",
-            "gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm",
-            "hn","hr","ht","hu","id","ie","il","im","in","io","iq","ir","is","it",
-            "je","jm","jo","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky",
-            "kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc",
-            "md","me","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt",
-            "mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no",
-            "np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn",
-            "pr","ps","pt","pw","py","qa","re","ro","rs","ru","rw","sa","sb","sc",
-            "sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","ss","st",
-            "su","sv","sx","sy","sz","tc","td","tf","tg","th","tj","tk","tl","tm",
-            "tn","to","tp","tr","tt","tv","tw","tz","ua","ug","uk","us","uy","uz",
-            "va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","yu","za","zm",
-            "zw",
-        };
         
         /**
          * Warning: This generates a WARNING from a filesystem/JARfile scan error
@@ -131,19 +103,14 @@ public class ModelFactory {
          * this in log files. 
          */
 
-        Set<Class<? extends Model>> subTypes = new HashSet();
+        Set<Class<? extends Model>> subTypes = new HashSet<>();
         
-        /*for(String topDomain: defaultTopDomains)
-        {
-            reflections = new Reflections(topDomain);
-            subTypes.addAll(reflections.getSubTypesOf(Model.class));   
-        }*/
         boolean verboseClassGraph = System.getProperty("no.nibio.vips.core.VERBOSE_CLASSGRAPH") != null && System.getProperty("no.nibio.vips.core.VERBOSE_CLASSGRAPH").equals("true");
-        try (ScanResult scanResult =                // Assign scanResult in try-with-resources
+        try (ScanResult scanResult =        // Assign scanResult in try-with-resources
         new ClassGraph()                    // Create a new ClassGraph instance
-            .verbose(verboseClassGraph)                      // If you want to enable logging to stderr
-            .enableClassInfo()            // Scan classes, methods, fields, annotations
-            //.acceptPackages("com.xyz")      // Scan com.xyz and subpackages
+            .verbose(verboseClassGraph)     // If you want to enable logging to stderr
+            .enableClassInfo()              // Scan classes, methods, fields, annotations
+            //.acceptPackages("no.nibio")   // Scan no.nibio and subpackages
             .scan()) {                      // Perform the scan and return a ScanResult
             
             //ClassInfoList classInfoList = 
@@ -156,7 +123,7 @@ public class ModelFactory {
         /**
          * Iterates and instantiates one object for each class
          */
-        this.models = new HashMap();
+        this.models = new HashMap<>();
         for(Class<? extends Model> subType : subTypes)
         {
                try {
@@ -303,7 +270,10 @@ public class ModelFactory {
                 InstantiationException, 
                 IllegalAccessException, 
                 DuplicateModelIdException, 
-                NoSuchModelException
+                NoSuchModelException,
+                SecurityException,
+                NoSuchMethodException,
+                InvocationTargetException
     {
         if(this.isDuplicateModelId(modelId))
         {
@@ -313,7 +283,7 @@ public class ModelFactory {
         {
             throw new NoSuchModelException("ERROR: No model found with id = " + modelId);
         }
-        return this.models.get(modelId).getClass().newInstance();
+        return this.models.get(modelId).getClass().getDeclaredConstructor().newInstance();
     }
 
     private void addDuplicateModelId(String modelId) {