diff --git a/src/main/java/it/unibz/inf/isochrone/db/Database.java b/src/main/java/it/unibz/inf/isochrone/db/Database.java
index 119dc6a405f8e9449c15ea46d726fd8d246ad1df..dd121d47c43683f64b2e44d46037c55877e33611 100644
--- a/src/main/java/it/unibz/inf/isochrone/db/Database.java
+++ b/src/main/java/it/unibz/inf/isochrone/db/Database.java
@@ -67,8 +67,18 @@ public class Database {
 	protected boolean isIncoming;
 	protected Connection connection;
 
-	protected Database(final Config config) {
+	// Public constructor
+
+	public Database(final Dataset dataset, final Mode mode, final Direction direction) {
+		this(new Config(dataset), (direction == Direction.INCOMING));
+	}
+
+	// Protected constructors
+
+	protected Database(final Config config, final boolean isIncoming) {
 		this.config = config;
+		this.isIncoming = isIncoming;
+
 		connection = config.getConnection();
 		pstmtsCacheMap = new HashMap<String, PreparedStatement>();
 
@@ -144,9 +154,8 @@ public class Database {
 		}
 	}
 
-	public Database(final Dataset dataset, final Mode mode, final Direction direction) {
-		this(new Config(dataset));
-		isIncoming = (direction == Direction.INCOMING);
+	protected Database(final Config config) {
+		this(config, false);
 	}
 
 	public void setMode(final Mode mode) {