diff --git a/pom.xml b/pom.xml
index 21ff660..642e57a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,6 +24,11 @@
 			amodtaxi
 			2.0.0
 		
+		
+			ch.ethz.idsc
+			java
+			0.0.3
+		
 		
 			junit
 			junit
@@ -34,24 +39,24 @@
 
 	
 		
-			tensor-mvn-repo
-			https://raw.github.com/amodeus-science/tensor/mvn-repo/
+			amodeus-mvn-repo
+			https://raw.github.com/amodeus-science/amodeus/mvn-repo/
 			
 				true
 				always
 			
 		
 		
-			amodeus-mvn-repo
-			https://raw.github.com/amodeus-science/amodeus/mvn-repo/
+			amodtaxi-mvn-repo
+			https://raw.github.com/amodeus-science/amodtaxi/mvn-repo/
 			
 				true
 				always
 			
 		
 		
-			amodtaxi-mvn-repo
-			https://raw.github.com/amodeus-science/amodtaxi/mvn-repo/
+			java-mvn-repo
+			https://raw.github.com/datahaki/java/mvn-repo/
 			
 				true
 				always
diff --git a/src/main/java/amodeus/amod/ScenarioPreparer.java b/src/main/java/amodeus/amod/ScenarioPreparer.java
index 21aff9f..f7b0144 100644
--- a/src/main/java/amodeus/amod/ScenarioPreparer.java
+++ b/src/main/java/amodeus/amod/ScenarioPreparer.java
@@ -4,14 +4,6 @@
 import java.io.File;
 import java.net.MalformedURLException;
 
-import amodeus.amodeus.options.ScenarioOptions;
-import amodeus.amodeus.options.ScenarioOptionsBase;
-import amodeus.amodeus.prep.ConfigCreator;
-import amodeus.amodeus.prep.NetworkPreparer;
-import amodeus.amodeus.prep.PopulationPreparer;
-import amodeus.amodeus.prep.TheApocalypse;
-import amodeus.amodeus.prep.VirtualNetworkPreparer;
-import amodeus.amodeus.util.io.MultiFileTools;
 import org.matsim.amodeus.config.AmodeusConfigGroup;
 import org.matsim.amodeus.config.modal.GeneratorConfig;
 import org.matsim.api.core.v01.Scenario;
@@ -22,6 +14,14 @@
 import org.matsim.core.scenario.ScenarioUtils;
 
 import amodeus.amod.ext.Static;
+import amodeus.amodeus.options.ScenarioOptions;
+import amodeus.amodeus.options.ScenarioOptionsBase;
+import amodeus.amodeus.prep.ConfigCreator;
+import amodeus.amodeus.prep.NetworkPreparer;
+import amodeus.amodeus.prep.PopulationPreparer;
+import amodeus.amodeus.prep.TheApocalypse;
+import amodeus.amodeus.prep.VirtualNetworkPreparer;
+import amodeus.amodeus.util.io.MultiFileTools;
 
 /** Class to prepare a given scenario for MATSim, includes preparation of
  * network, population, creation of virtualNetwork and travelData objects. As an
diff --git a/src/main/java/amodeus/amod/ScenarioServer.java b/src/main/java/amodeus/amod/ScenarioServer.java
index 287e1a9..ffa43da 100644
--- a/src/main/java/amodeus/amod/ScenarioServer.java
+++ b/src/main/java/amodeus/amod/ScenarioServer.java
@@ -5,17 +5,6 @@
 import java.net.MalformedURLException;
 import java.util.Objects;
 
-import amodeus.amodeus.analysis.Analysis;
-import amodeus.amodeus.data.LocationSpec;
-import amodeus.amodeus.data.ReferenceFrame;
-import amodeus.amodeus.linkspeed.TaxiTravelTimeRouter;
-import amodeus.amodeus.net.MatsimAmodeusDatabase;
-import amodeus.amodeus.net.SimulationServer;
-import amodeus.amodeus.options.ScenarioOptions;
-import amodeus.amodeus.options.ScenarioOptionsBase;
-import amodeus.amodeus.util.io.MultiFileTools;
-import amodeus.amodeus.util.math.GlobalAssert;
-import amodeus.amodeus.util.matsim.AddCoordinatesToActivities;
 import org.matsim.amodeus.AmodeusConfigurator;
 import org.matsim.amodeus.config.AmodeusConfigGroup;
 import org.matsim.amodeus.framework.AmodeusUtils;
@@ -35,6 +24,17 @@
 import amodeus.amod.dispatcher.DemoDispatcher;
 import amodeus.amod.ext.Static;
 import amodeus.amod.generator.DemoGenerator;
+import amodeus.amodeus.analysis.Analysis;
+import amodeus.amodeus.data.LocationSpec;
+import amodeus.amodeus.data.ReferenceFrame;
+import amodeus.amodeus.linkspeed.TaxiTravelTimeRouter;
+import amodeus.amodeus.net.MatsimAmodeusDatabase;
+import amodeus.amodeus.net.SimulationServer;
+import amodeus.amodeus.options.ScenarioOptions;
+import amodeus.amodeus.options.ScenarioOptionsBase;
+import amodeus.amodeus.util.io.MultiFileTools;
+import amodeus.amodeus.util.math.GlobalAssert;
+import amodeus.amodeus.util.matsim.AddCoordinatesToActivities;
 
 /** This class runs an AMoDeus simulation based on MATSim. The results can be
  * viewed if the {@link ScenarioViewer} is executed in the same working
diff --git a/src/main/java/amodeus/amod/ScenarioViewer.java b/src/main/java/amodeus/amod/ScenarioViewer.java
index 2810d6b..b2f5f22 100644
--- a/src/main/java/amodeus/amod/ScenarioViewer.java
+++ b/src/main/java/amodeus/amod/ScenarioViewer.java
@@ -5,6 +5,11 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
 
+import org.matsim.api.core.v01.network.Network;
+import org.matsim.core.config.Config;
+import org.matsim.core.config.ConfigUtils;
+
+import amodeus.amod.ext.Static;
 import amodeus.amodeus.data.LocationSpec;
 import amodeus.amodeus.data.ReferenceFrame;
 import amodeus.amodeus.gfx.AmodeusComponent;
@@ -16,11 +21,6 @@
 import amodeus.amodeus.util.io.MultiFileTools;
 import amodeus.amodeus.util.matsim.NetworkLoader;
 import amodeus.amodeus.virtualnetwork.core.VirtualNetworkGet;
-import org.matsim.api.core.v01.network.Network;
-import org.matsim.core.config.Config;
-import org.matsim.core.config.ConfigUtils;
-
-import amodeus.amod.ext.Static;
 
 /** the viewer allows to connect to the scenario server or to view saved simulation results. */
 /* package */ enum ScenarioViewer {
diff --git a/src/main/java/amodeus/amod/analysis/CustomAnalysis.java b/src/main/java/amodeus/amod/analysis/CustomAnalysis.java
index f28f674..e0b0fc8 100644
--- a/src/main/java/amodeus/amod/analysis/CustomAnalysis.java
+++ b/src/main/java/amodeus/amod/analysis/CustomAnalysis.java
@@ -3,6 +3,11 @@
 
 import java.io.File;
 
+import org.matsim.api.core.v01.network.Network;
+import org.matsim.core.config.Config;
+import org.matsim.core.config.ConfigUtils;
+
+import amodeus.amod.ext.Static;
 import amodeus.amodeus.analysis.Analysis;
 import amodeus.amodeus.data.LocationSpec;
 import amodeus.amodeus.data.ReferenceFrame;
@@ -13,11 +18,6 @@
 import amodeus.amodeus.options.ScenarioOptionsBase;
 import amodeus.amodeus.util.io.MultiFileTools;
 import amodeus.amodeus.util.matsim.NetworkLoader;
-import org.matsim.api.core.v01.network.Network;
-import org.matsim.core.config.Config;
-import org.matsim.core.config.ConfigUtils;
-
-import amodeus.amod.ext.Static;
 
 /** This is a demonstration of the functionality of AMoDeus that customized analysis and reporting
  * elements can be easily added. In this example, we present the case in which for every
diff --git a/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java b/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java
index dced493..1b10505 100644
--- a/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java
+++ b/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java
@@ -3,6 +3,12 @@
 
 import java.io.File;
 
+import org.jfree.chart.JFreeChart;
+import org.jfree.chart.axis.CategoryAnchor;
+import org.jfree.chart.axis.CategoryLabelPositions;
+import org.jfree.chart.plot.CategoryPlot;
+import org.matsim.amodeus.dvrp.request.AmodeusRequest;
+
 import amodeus.amodeus.analysis.AnalysisSummary;
 import amodeus.amodeus.analysis.element.AnalysisExport;
 import amodeus.amodeus.analysis.plot.AmodeusChartUtils;
@@ -10,17 +16,12 @@
 import amodeus.amodeus.util.math.GlobalAssert;
 import amodeus.tensor.fig.Histogram;
 import amodeus.tensor.fig.VisualSet;
-import org.jfree.chart.JFreeChart;
-import org.jfree.chart.axis.CategoryAnchor;
-import org.jfree.chart.axis.CategoryLabelPositions;
-import org.jfree.chart.plot.CategoryPlot;
-import org.matsim.amodeus.dvrp.request.AmodeusRequest;
-
 import ch.ethz.idsc.tensor.RationalScalar;
 import ch.ethz.idsc.tensor.RealScalar;
 import ch.ethz.idsc.tensor.Scalar;
 import ch.ethz.idsc.tensor.Scalars;
 import ch.ethz.idsc.tensor.Tensor;
+import ch.ethz.idsc.tensor.Unprotect;
 import ch.ethz.idsc.tensor.alg.Range;
 import ch.ethz.idsc.tensor.img.ColorDataIndexed;
 import ch.ethz.idsc.tensor.pdf.BinCounts;
@@ -61,7 +62,7 @@ public void summaryTarget(AnalysisSummary analysisSummary, File relativeDirector
             visualSet.setAxesLabelY("% of RoboTaxis");
             visualSet.setAxesLabelX("Requests");
 
-            JFreeChart jFreeChart = Histogram.of(visualSet, s -> "[" + s.number() + " , " + s.add(histoGrambinSize).number() + ")");
+            JFreeChart jFreeChart = Histogram.of(visualSet, s -> "[" + Unprotect.withoutUnit(s).number() + " , " + Unprotect.withoutUnit(s.add(histoGrambinSize)).number() + ")");
             CategoryPlot categoryPlot = jFreeChart.getCategoryPlot();
             categoryPlot.getDomainAxis().setLowerMargin(0.0);
             categoryPlot.getDomainAxis().setUpperMargin(0.0);
diff --git a/src/main/java/amodeus/amod/dispatcher/DemoDispatcher.java b/src/main/java/amodeus/amod/dispatcher/DemoDispatcher.java
index 7bc4905..6f6443e 100644
--- a/src/main/java/amodeus/amod/dispatcher/DemoDispatcher.java
+++ b/src/main/java/amodeus/amod/dispatcher/DemoDispatcher.java
@@ -6,13 +6,6 @@
 import java.util.Map;
 import java.util.Random;
 
-import amodeus.amodeus.dispatcher.core.DispatcherUtils;
-import amodeus.amodeus.dispatcher.core.RebalancingDispatcher;
-import amodeus.amodeus.dispatcher.core.RoboTaxi;
-import amodeus.amodeus.dispatcher.core.RoboTaxiUsageType;
-import amodeus.amodeus.dispatcher.util.DrivebyRequestStopper;
-import amodeus.amodeus.net.MatsimAmodeusDatabase;
-import amodeus.amodeus.util.matsim.SafeConfig;
 import org.matsim.amodeus.components.AmodeusDispatcher;
 import org.matsim.amodeus.components.AmodeusRouter;
 import org.matsim.amodeus.config.AmodeusModeConfig;
@@ -25,6 +18,14 @@
 import org.matsim.core.config.Config;
 import org.matsim.core.router.util.TravelTime;
 
+import amodeus.amodeus.dispatcher.core.DispatcherUtils;
+import amodeus.amodeus.dispatcher.core.RebalancingDispatcher;
+import amodeus.amodeus.dispatcher.core.RoboTaxi;
+import amodeus.amodeus.dispatcher.core.RoboTaxiUsageType;
+import amodeus.amodeus.dispatcher.util.DrivebyRequestStopper;
+import amodeus.amodeus.net.MatsimAmodeusDatabase;
+import amodeus.amodeus.util.matsim.SafeConfig;
+
 /** Dispatcher sends vehicles to all links in the network and lets them pickup
  * any customers which are waiting along the road. */
 public class DemoDispatcher extends RebalancingDispatcher {
diff --git a/src/main/java/amodeus/amod/ext/Static.java b/src/main/java/amodeus/amod/ext/Static.java
index da87647..ddcbb60 100644
--- a/src/main/java/amodeus/amod/ext/Static.java
+++ b/src/main/java/amodeus/amod/ext/Static.java
@@ -10,10 +10,11 @@
 import java.io.OutputStream;
 import java.util.Properties;
 
+import org.gnu.glpk.GLPK;
+
 import amodeus.amodeus.data.LocationSpec;
 import amodeus.amodeus.data.LocationSpecDatabase;
 import amodeus.amodeus.options.LPOptionsBase;
-import org.gnu.glpk.GLPK;
 
 public enum Static {
     ;
diff --git a/src/main/java/amodeus/amod/ext/UserLocationSpecs.java b/src/main/java/amodeus/amod/ext/UserLocationSpecs.java
index 067767c..930b39a 100644
--- a/src/main/java/amodeus/amod/ext/UserLocationSpecs.java
+++ b/src/main/java/amodeus/amod/ext/UserLocationSpecs.java
@@ -1,9 +1,10 @@
 /* amod - Copyright (c) 2018, ETH Zurich, Institute for Dynamic Systems and Control */
 package amodeus.amod.ext;
 
+import org.matsim.api.core.v01.Coord;
+
 import amodeus.amodeus.data.LocationSpec;
 import amodeus.amodeus.data.ReferenceFrame;
-import org.matsim.api.core.v01.Coord;
 
 /* package */ enum UserLocationSpecs implements LocationSpec {
     SANFRANCISCO( //
diff --git a/src/main/java/amodeus/amod/ext/UserReferenceFrames.java b/src/main/java/amodeus/amod/ext/UserReferenceFrames.java
index f7bfb34..8c939ff 100644
--- a/src/main/java/amodeus/amod/ext/UserReferenceFrames.java
+++ b/src/main/java/amodeus/amod/ext/UserReferenceFrames.java
@@ -1,12 +1,12 @@
 /* amod - Copyright (c) 2018, ETH Zurich, Institute for Dynamic Systems and Control */
 package amodeus.amod.ext;
 
-import amodeus.amodeus.data.ReferenceFrame;
-import amodeus.amodeus.util.math.SI;
 import org.matsim.core.utils.geometry.CoordinateTransformation;
 import org.matsim.core.utils.geometry.transformations.GeotoolsTransformation;
 import org.matsim.core.utils.geometry.transformations.IdentityTransformation;
 
+import amodeus.amodeus.data.ReferenceFrame;
+import amodeus.amodeus.util.math.SI;
 import ch.ethz.idsc.tensor.qty.Unit;
 
 /* package */ enum UserReferenceFrames implements ReferenceFrame {
diff --git a/src/main/java/amodeus/amod/generator/DemoGenerator.java b/src/main/java/amodeus/amod/generator/DemoGenerator.java
index 63c1fda..f567a75 100644
--- a/src/main/java/amodeus/amod/generator/DemoGenerator.java
+++ b/src/main/java/amodeus/amod/generator/DemoGenerator.java
@@ -6,8 +6,6 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import amodeus.amodeus.dispatcher.core.RoboTaxi;
-import amodeus.amodeus.generator.RandomDensityGenerator;
 import org.apache.log4j.Logger;
 import org.matsim.amodeus.components.AmodeusGenerator;
 import org.matsim.amodeus.components.generator.AmodeusIdentifiers;
@@ -21,6 +19,9 @@
 import org.matsim.contrib.dvrp.run.ModalProviders.InstanceGetter;
 import org.matsim.core.gbl.MatsimRandom;
 
+import amodeus.amodeus.dispatcher.core.RoboTaxi;
+import amodeus.amodeus.generator.RandomDensityGenerator;
+
 
 /** the initial placement of {@link RoboTaxi} in the {@link Network} is determined
  * with an {@link AmodeusGenerator}. In most cases it is sufficient to use the
diff --git a/src/main/java/amodeus/amod/router/CustomRouter.java b/src/main/java/amodeus/amod/router/CustomRouter.java
index c2bf98f..a85550f 100644
--- a/src/main/java/amodeus/amod/router/CustomRouter.java
+++ b/src/main/java/amodeus/amod/router/CustomRouter.java
@@ -4,7 +4,6 @@
 import java.io.IOException;
 import java.util.concurrent.Future;
 
-import amodeus.amodeus.dispatcher.core.RoboTaxi;
 import org.matsim.amodeus.components.AmodeusRouter;
 import org.matsim.api.core.v01.network.Network;
 import org.matsim.api.core.v01.network.Node;
@@ -13,6 +12,8 @@
 import org.matsim.core.router.util.LeastCostPathCalculator.Path;
 import org.matsim.vehicles.Vehicle;
 
+import amodeus.amodeus.dispatcher.core.RoboTaxi;
+
 /** This is a nonfunctional sample demonstrating of how to include a custom router
  * to AMoDeus which is not the standard choice of the Paralllel Djikstra router used
  * normally to calculate the path for {@link RoboTaxi} */
diff --git a/src/main/java/amodeus/socket/SocketExport.java b/src/main/java/amodeus/socket/SocketExport.java
index 68a7043..b4668b0 100644
--- a/src/main/java/amodeus/socket/SocketExport.java
+++ b/src/main/java/amodeus/socket/SocketExport.java
@@ -3,18 +3,18 @@
 
 import java.io.File;
 
+import org.jfree.chart.JFreeChart;
+
 import amodeus.amodeus.analysis.AnalysisSummary;
 import amodeus.amodeus.analysis.UnitSaveUtils;
 import amodeus.amodeus.analysis.element.AnalysisExport;
 import amodeus.amodeus.analysis.element.AnalysisMeanFilter;
 import amodeus.amodeus.analysis.plot.AmodeusChartUtils;
 import amodeus.amodeus.util.math.GlobalAssert;
+import amodeus.socket.core.SocketScoreElement;
 import amodeus.tensor.fig.TimedChart;
 import amodeus.tensor.fig.VisualRow;
 import amodeus.tensor.fig.VisualSet;
-import org.jfree.chart.JFreeChart;
-
-import amodeus.socket.core.SocketScoreElement;
 import ch.ethz.idsc.tensor.Tensor;
 import ch.ethz.idsc.tensor.Unprotect;
 import ch.ethz.idsc.tensor.img.ColorDataIndexed;
@@ -80,7 +80,7 @@ public void summaryTarget(AnalysisSummary analysisSummary, File relativeDirector
                     new String[] { "fleet size score integrated" }, //
                     "time of day", "scores integrated", time, fleetSizeScoreIntg, colorScheme);
             File fileChart = new File(relativeDirectory, FILENAME_SCORE_INTG);
-            chart.getXYPlot().getRangeAxis().setRange(fleetSizeScoreIntg.get(0).Get(0).number().intValue() * 2.0, 0.0);
+            chart.getXYPlot().getRangeAxis().setRange(Unprotect.withoutUnit(fleetSizeScoreIntg.Get(0,0)).number().intValue() * 2.0, 0.0);
             AmodeusChartUtils.saveAsPNG(chart, fileChart.toString(), WIDTH, HEIGHT);
             GlobalAssert.that(fileChart.isFile());
         } catch (Exception e1) {
diff --git a/src/main/java/amodeus/socket/SocketHost.java b/src/main/java/amodeus/socket/SocketHost.java
index ca142ca..620c394 100644
--- a/src/main/java/amodeus/socket/SocketHost.java
+++ b/src/main/java/amodeus/socket/SocketHost.java
@@ -4,6 +4,8 @@
 import java.io.File;
 import java.util.Objects;
 
+import org.matsim.amodeus.config.AmodeusModeConfig;
+
 import amodeus.amodeus.analysis.Analysis;
 import amodeus.amodeus.options.ScenarioOptions;
 import amodeus.amodeus.options.ScenarioOptionsBase;
@@ -14,8 +16,6 @@
 import amodeus.amodeus.util.net.StringServerSocket;
 import amodeus.amodeus.util.net.StringSocket;
 import amodeus.amodeus.video.VideoGenerator;
-import org.matsim.amodeus.config.AmodeusModeConfig;
-
 import amodeus.socket.core.ScoreParameters;
 import amodeus.socket.core.SocketDispatcherHost;
 import amodeus.socket.core.SocketScoreElement;
@@ -23,6 +23,7 @@
 import ch.ethz.idsc.tensor.Scalar;
 import ch.ethz.idsc.tensor.Tensor;
 import ch.ethz.idsc.tensor.Tensors;
+import ch.ethz.idsc.tensor.Unprotect;
 import ch.ethz.idsc.tensor.red.Total;
 import ch.ethz.idsc.tensor.sca.Round;
 
@@ -86,8 +87,8 @@ public static void run(File workingDirectory) throws Exception {
             /** get additional information */
             String readLine2 = stringSocket.readLine();
             Tensor config2 = Tensors.fromString(readLine2);
-            int numReqDes = config2.Get(0).number().intValue();
-            int fleetSize = config2.Get(1).number().intValue();
+            int numReqDes = Unprotect.withoutUnit(config2.Get(0)).number().intValue();
+            int fleetSize = Unprotect.withoutUnit(config2.Get(1)).number().intValue();
 
             {
                 String env = System.getenv(ENV_REQUESTS_SIZE);
diff --git a/src/main/java/amodeus/socket/SocketModule.java b/src/main/java/amodeus/socket/SocketModule.java
index 3ddd8f4..5b2e286 100644
--- a/src/main/java/amodeus/socket/SocketModule.java
+++ b/src/main/java/amodeus/socket/SocketModule.java
@@ -3,13 +3,14 @@
 
 import java.util.Objects;
 
-import amodeus.amodeus.util.net.StringSocket;
 import org.matsim.api.core.v01.network.Network;
 import org.matsim.core.controler.AbstractModule;
 
 import com.google.inject.Provides;
 import com.google.inject.Singleton;
 
+import amodeus.amodeus.util.net.StringSocket;
+
 public class SocketModule extends AbstractModule {
     private final StringSocket stringSocket;
     private final int numReqTot;
diff --git a/src/main/java/amodeus/socket/SocketPopulationPreparer.java b/src/main/java/amodeus/socket/SocketPopulationPreparer.java
index 0f53bff..57c44fd 100644
--- a/src/main/java/amodeus/socket/SocketPopulationPreparer.java
+++ b/src/main/java/amodeus/socket/SocketPopulationPreparer.java
@@ -3,17 +3,18 @@
 
 import java.io.File;
 
+import org.matsim.amodeus.config.AmodeusModeConfig;
+import org.matsim.api.core.v01.network.Network;
+import org.matsim.api.core.v01.population.Population;
+import org.matsim.core.config.Config;
+import org.matsim.core.population.io.PopulationWriter;
+
 import amodeus.amodeus.options.ScenarioOptions;
 import amodeus.amodeus.prep.LegCount;
 import amodeus.amodeus.prep.PopulationCutter;
 import amodeus.amodeus.prep.TheRequestApocalypse;
 import amodeus.amodeus.util.io.GZHandler;
 import amodeus.amodeus.util.math.GlobalAssert;
-import org.matsim.amodeus.config.AmodeusModeConfig;
-import org.matsim.api.core.v01.network.Network;
-import org.matsim.api.core.v01.population.Population;
-import org.matsim.core.config.Config;
-import org.matsim.core.population.io.PopulationWriter;
 
 /* package */ enum SocketPopulationPreparer {
     ;
diff --git a/src/main/java/amodeus/socket/SocketPreparer.java b/src/main/java/amodeus/socket/SocketPreparer.java
index b5cb150..719211f 100644
--- a/src/main/java/amodeus/socket/SocketPreparer.java
+++ b/src/main/java/amodeus/socket/SocketPreparer.java
@@ -4,14 +4,6 @@
 import java.io.File;
 import java.net.MalformedURLException;
 
-import amodeus.amodeus.data.LocationSpec;
-import amodeus.amodeus.data.ReferenceFrame;
-import amodeus.amodeus.net.MatsimAmodeusDatabase;
-import amodeus.amodeus.net.TensorCoords;
-import amodeus.amodeus.options.ScenarioOptions;
-import amodeus.amodeus.options.ScenarioOptionsBase;
-import amodeus.amodeus.prep.ConfigCreator;
-import amodeus.amodeus.prep.NetworkPreparer;
 import org.matsim.amodeus.config.AmodeusConfigGroup;
 import org.matsim.amodeus.config.modal.GeneratorConfig;
 import org.matsim.api.core.v01.Coord;
@@ -24,6 +16,14 @@
 import org.matsim.core.scenario.ScenarioUtils;
 
 import amodeus.amod.ext.Static;
+import amodeus.amodeus.data.LocationSpec;
+import amodeus.amodeus.data.ReferenceFrame;
+import amodeus.amodeus.net.MatsimAmodeusDatabase;
+import amodeus.amodeus.net.TensorCoords;
+import amodeus.amodeus.options.ScenarioOptions;
+import amodeus.amodeus.options.ScenarioOptionsBase;
+import amodeus.amodeus.prep.ConfigCreator;
+import amodeus.amodeus.prep.NetworkPreparer;
 import ch.ethz.idsc.tensor.Tensor;
 import ch.ethz.idsc.tensor.Tensors;
 
diff --git a/src/main/java/amodeus/socket/SocketServer.java b/src/main/java/amodeus/socket/SocketServer.java
index 5c2fc92..46acd1e 100644
--- a/src/main/java/amodeus/socket/SocketServer.java
+++ b/src/main/java/amodeus/socket/SocketServer.java
@@ -5,20 +5,6 @@
 import java.net.MalformedURLException;
 import java.util.Objects;
 
-import amodeus.amodeus.data.LocationSpec;
-import amodeus.amodeus.data.ReferenceFrame;
-import amodeus.amodeus.generator.RandomDensityGenerator;
-import amodeus.amodeus.linkspeed.LinkSpeedDataContainer;
-import amodeus.amodeus.linkspeed.LinkSpeedUtils;
-import amodeus.amodeus.linkspeed.TaxiTravelTimeRouter;
-import amodeus.amodeus.linkspeed.TrafficDataModule;
-import amodeus.amodeus.net.MatsimAmodeusDatabase;
-import amodeus.amodeus.net.SimulationServer;
-import amodeus.amodeus.options.ScenarioOptions;
-import amodeus.amodeus.options.ScenarioOptionsBase;
-import amodeus.amodeus.util.math.GlobalAssert;
-import amodeus.amodeus.util.matsim.AddCoordinatesToActivities;
-import amodeus.amodeus.util.net.StringSocket;
 import org.matsim.amodeus.AmodeusConfigurator;
 import org.matsim.amodeus.config.AmodeusConfigGroup;
 import org.matsim.amodeus.framework.AmodeusUtils;
@@ -34,6 +20,20 @@
 import org.matsim.core.scenario.ScenarioUtils;
 
 import amodeus.amod.ext.Static;
+import amodeus.amodeus.data.LocationSpec;
+import amodeus.amodeus.data.ReferenceFrame;
+import amodeus.amodeus.generator.RandomDensityGenerator;
+import amodeus.amodeus.linkspeed.LinkSpeedDataContainer;
+import amodeus.amodeus.linkspeed.LinkSpeedUtils;
+import amodeus.amodeus.linkspeed.TaxiTravelTimeRouter;
+import amodeus.amodeus.linkspeed.TrafficDataModule;
+import amodeus.amodeus.net.MatsimAmodeusDatabase;
+import amodeus.amodeus.net.SimulationServer;
+import amodeus.amodeus.options.ScenarioOptions;
+import amodeus.amodeus.options.ScenarioOptionsBase;
+import amodeus.amodeus.util.math.GlobalAssert;
+import amodeus.amodeus.util.matsim.AddCoordinatesToActivities;
+import amodeus.amodeus.util.net.StringSocket;
 import amodeus.socket.core.SocketDispatcherHost;
 
 /** only one ScenarioServer can run at one time, since a fixed network port is
diff --git a/src/main/java/amodeus/socket/core/FleetSizeScore.java b/src/main/java/amodeus/socket/core/FleetSizeScore.java
index efd5875..1f52fd3 100644
--- a/src/main/java/amodeus/socket/core/FleetSizeScore.java
+++ b/src/main/java/amodeus/socket/core/FleetSizeScore.java
@@ -7,6 +7,7 @@
 import ch.ethz.idsc.tensor.RealScalar;
 import ch.ethz.idsc.tensor.Scalar;
 import ch.ethz.idsc.tensor.Scalars;
+import ch.ethz.idsc.tensor.Unprotect;
 import ch.ethz.idsc.tensor.qty.Quantity;
 
 /** the fleetsize score is defined as following, in the case that the maximum waiting time
@@ -57,7 +58,7 @@ public Scalar getTimeToViolate() {
 
     public Scalar getScoreDiff() {
         Scalar scoreDiff = scoreFinal.subtract(scoreFinalPrev);
-        if (Double.isNaN(scoreDiff.number().doubleValue()))
+        if (Double.isNaN(Unprotect.withoutUnit(scoreDiff).number().doubleValue()))
             return RealScalar.ZERO;
         return scoreDiff;
     }
diff --git a/src/main/java/amodeus/socket/core/ScoreParameters.java b/src/main/java/amodeus/socket/core/ScoreParameters.java
index b7fe36b..27b21ef 100644
--- a/src/main/java/amodeus/socket/core/ScoreParameters.java
+++ b/src/main/java/amodeus/socket/core/ScoreParameters.java
@@ -6,15 +6,15 @@
 import ch.ethz.idsc.tensor.Tensor;
 import ch.ethz.idsc.tensor.Tensors;
 import ch.ethz.idsc.tensor.io.ResourceData;
-import ch.ethz.idsc.tensor.io.TensorProperties;
 import ch.ethz.idsc.tensor.qty.Quantity;
+import ch.ethz.idsc.tensor.ref.ObjectProperties;
 
 /** values in class are required by SocketHost
  * therefore class was made public */
 public class ScoreParameters {
     /** overrides default values defined in class
      * with the values parsed from the properties file */
-    public static final ScoreParameters GLOBAL = TensorProperties.wrap(new ScoreParameters()) //
+    public static final ScoreParameters GLOBAL = ObjectProperties.wrap(new ScoreParameters()) //
             .set(ResourceData.properties("/socket/ScoreParameters.properties"));
 
     /** service quality */
diff --git a/src/main/java/amodeus/socket/core/SocketDispatcherHost.java b/src/main/java/amodeus/socket/core/SocketDispatcherHost.java
index a0a418a..93effdd 100644
--- a/src/main/java/amodeus/socket/core/SocketDispatcherHost.java
+++ b/src/main/java/amodeus/socket/core/SocketDispatcherHost.java
@@ -28,6 +28,7 @@
 import ch.ethz.idsc.tensor.RealScalar;
 import ch.ethz.idsc.tensor.Tensor;
 import ch.ethz.idsc.tensor.Tensors;
+import ch.ethz.idsc.tensor.Unprotect;
 
 // TODO refactor and shorten @clruch
 public class SocketDispatcherHost extends RebalancingDispatcher {
@@ -89,14 +90,14 @@ protected void redispatch(double now) {
 
                     Tensor pickups = commands.get(0);
                     for (Tensor pickup : pickups) {
-                        RoboTaxi roboTaxi = idRoboTaxiMap.get(pickup.Get(0).number().intValue());
-                        PassengerRequest avRequest = idRequestMap.get(pickup.Get(1).number().intValue());
+                        RoboTaxi roboTaxi = idRoboTaxiMap.get(Unprotect.withoutUnit(pickup.Get(0)).number().intValue());
+                        PassengerRequest avRequest = idRequestMap.get(Unprotect.withoutUnit(pickup.Get(1)).number().intValue());
                         setRoboTaxiPickup(roboTaxi, avRequest);
                     }
 
                     Tensor rebalances = commands.get(1);
                     for (Tensor rebalance : rebalances) {
-                        RoboTaxi roboTaxi = idRoboTaxiMap.get(rebalance.Get(0).number().intValue());
+                        RoboTaxi roboTaxi = idRoboTaxiMap.get(Unprotect.withoutUnit(rebalance.Get(0)).number().intValue());
                         Link link = fastLinkLookup.linkFromWGS84(rebalance.get(1));
                         setRoboTaxiRebalance(roboTaxi, link);
                     }
diff --git a/src/main/java/amodeus/socket/core/SocketRequestCompiler.java b/src/main/java/amodeus/socket/core/SocketRequestCompiler.java
index f53133b..3880489 100644
--- a/src/main/java/amodeus/socket/core/SocketRequestCompiler.java
+++ b/src/main/java/amodeus/socket/core/SocketRequestCompiler.java
@@ -3,10 +3,10 @@
 
 import java.util.Collection;
 
-import amodeus.amodeus.net.MatsimAmodeusDatabase;
-import amodeus.amodeus.net.TensorCoords;
 import org.matsim.contrib.dvrp.passenger.PassengerRequest;
 
+import amodeus.amodeus.net.MatsimAmodeusDatabase;
+import amodeus.amodeus.net.TensorCoords;
 import ch.ethz.idsc.tensor.RealScalar;
 import ch.ethz.idsc.tensor.Tensor;
 import ch.ethz.idsc.tensor.Tensors;
diff --git a/src/main/java/amodeus/socket/core/SocketRoboTaxiCompiler.java b/src/main/java/amodeus/socket/core/SocketRoboTaxiCompiler.java
index 38d3ed3..871bbc7 100644
--- a/src/main/java/amodeus/socket/core/SocketRoboTaxiCompiler.java
+++ b/src/main/java/amodeus/socket/core/SocketRoboTaxiCompiler.java
@@ -9,7 +9,7 @@
 import ch.ethz.idsc.tensor.Tensor;
 import ch.ethz.idsc.tensor.Tensors;
 import ch.ethz.idsc.tensor.io.StringScalar;
-import ch.ethz.idsc.tensor.qty.Boole;
+import ch.ethz.idsc.tensor.num.Boole;
 
 public class SocketRoboTaxiCompiler {
     private final MatsimAmodeusDatabase db;
diff --git a/src/main/java/amodeus/socket/core/SocketScenarioDownload.java b/src/main/java/amodeus/socket/core/SocketScenarioDownload.java
index a0190ac..141f458 100644
--- a/src/main/java/amodeus/socket/core/SocketScenarioDownload.java
+++ b/src/main/java/amodeus/socket/core/SocketScenarioDownload.java
@@ -7,8 +7,8 @@
 
 import amodeus.amodeus.util.io.ContentType;
 import amodeus.amodeus.util.io.Unzip;
+import ch.ethz.idsc.tensor.ext.URLFetch;
 import ch.ethz.idsc.tensor.io.ResourceData;
-import ch.ethz.idsc.tensor.io.URLFetch;
 
 public enum SocketScenarioDownload {
     ;
diff --git a/src/main/java/amodeus/socket/core/SocketScoreCompiler.java b/src/main/java/amodeus/socket/core/SocketScoreCompiler.java
index a6da81f..31d799e 100644
--- a/src/main/java/amodeus/socket/core/SocketScoreCompiler.java
+++ b/src/main/java/amodeus/socket/core/SocketScoreCompiler.java
@@ -4,12 +4,12 @@
 import java.util.Collection;
 import java.util.List;
 
+import org.matsim.contrib.dvrp.passenger.PassengerRequest;
+
 import amodeus.amodeus.dispatcher.core.RequestStatus;
 import amodeus.amodeus.dispatcher.core.RoboTaxi;
 import amodeus.amodeus.net.MatsimAmodeusDatabase;
 import amodeus.amodeus.net.SimulationObjectCompiler;
-import org.matsim.contrib.dvrp.passenger.PassengerRequest;
-
 import ch.ethz.idsc.tensor.Tensor;
 
 public class SocketScoreCompiler {
diff --git a/src/main/java/amodeus/socket/core/SocketVehicleStatistic.java b/src/main/java/amodeus/socket/core/SocketVehicleStatistic.java
index 076a6d1..9691120 100644
--- a/src/main/java/amodeus/socket/core/SocketVehicleStatistic.java
+++ b/src/main/java/amodeus/socket/core/SocketVehicleStatistic.java
@@ -4,13 +4,13 @@
 import java.util.LinkedList;
 import java.util.List;
 
+import org.matsim.api.core.v01.network.Link;
+
 import amodeus.amodeus.dispatcher.core.RoboTaxi;
 import amodeus.amodeus.net.MatsimAmodeusDatabase;
 import amodeus.amodeus.net.VehicleContainer;
 import amodeus.amodeus.net.VehicleContainerUtils;
 import amodeus.amodeus.util.math.SI;
-import org.matsim.api.core.v01.network.Link;
-
 import ch.ethz.idsc.tensor.RationalScalar;
 import ch.ethz.idsc.tensor.Scalar;
 import ch.ethz.idsc.tensor.Tensor;
diff --git a/src/test/java/amodeus/amod/DemoTest.java b/src/test/java/amodeus/amod/DemoTest.java
index 2dec53a..768bc32 100644
--- a/src/test/java/amodeus/amod/DemoTest.java
+++ b/src/test/java/amodeus/amod/DemoTest.java
@@ -3,15 +3,15 @@
 import java.io.File;
 import java.io.IOException;
 
+import org.junit.AfterClass;
+import org.junit.Test;
+
 import amodeus.amodeus.util.io.Locate;
 import amodeus.amodeus.util.io.MultiFileTools;
 import amodeus.amodeus.util.io.Unzip;
 import amodeus.amodtaxi.scenario.ScenarioCreation;
 import amodeus.amodtaxi.scenario.sanfrancisco.TraceFileChoice;
-import org.junit.AfterClass;
-import org.junit.Test;
-
-import ch.ethz.idsc.tensor.io.DeleteDirectory;
+import ch.ethz.idsc.tensor.ext.DeleteDirectory;
 
 public class DemoTest {
 
diff --git a/src/test/java/amodeus/socket/core/HttpDownloaderTest.java b/src/test/java/amodeus/socket/core/HttpDownloaderTest.java
index 0dd2fe4..af20d31 100644
--- a/src/test/java/amodeus/socket/core/HttpDownloaderTest.java
+++ b/src/test/java/amodeus/socket/core/HttpDownloaderTest.java
@@ -5,8 +5,8 @@
 import java.io.IOException;
 
 import amodeus.amodeus.util.io.ContentType;
-import ch.ethz.idsc.tensor.io.HomeDirectory;
-import ch.ethz.idsc.tensor.io.URLFetch;
+import ch.ethz.idsc.tensor.ext.HomeDirectory;
+import ch.ethz.idsc.tensor.ext.URLFetch;
 import junit.framework.TestCase;
 
 public class HttpDownloaderTest extends TestCase {