diff --git a/config/config.json b/config/config.json
index 300c4335205161c7966a23c9e5d51fddb36957f3..4b8f8f75c3e55e51e1af9cfaea77dd1aefa026bb 100644
--- a/config/config.json
+++ b/config/config.json
@@ -1,6 +1,7 @@
 {
 	"vision": {
 		"type": "stereovideo",
+		"uri": "ftl://utu.fi/dummy/rgb-d",
 		"middlebury": {
 			"dataset": "",
 			"threshold": 10.0,
diff --git a/config/config_localhost.json b/config/config_localhost.json
index b67fe65b07f413ac1529609d57c9d000ba8076bf..d75d18f6b3a73b0712dcc6e7ec91ecc609456f8f 100644
--- a/config/config_localhost.json
+++ b/config/config_localhost.json
@@ -1,6 +1,7 @@
 {
 	"vision": {
 		"type": "stereovideo",
+		"uri": "ftl://utu.fi/dummy/rgb-d",
 		"middlebury": {
 			"dataset": "",
 			"threshold": 2.0,
@@ -52,7 +53,10 @@
 			"window_size": 5,
 			"sigma": 1.5,
 			"lambda": 8000.0,
-			"filter": true
+			"filter": true,
+			"use_filter": false,
+			"filter_radius": 7,
+			"filter_iter": 3
 		},
 		"display": {
 			"flip_vert": false,
@@ -72,6 +76,7 @@
 	},
 	"reconstruction": {
 		"net": {
+			"listen": "tcp://*:9002",
 			"peers": ["tcp://localhost:9001"]
 		},
 		"sources": [{"type": "net", "uri": "ftl://utu.fi/dummy/rgb-d"}],
@@ -83,6 +88,40 @@
 			"left": false,
 			"right": false
 		},
+		"virtual": {
+			"hash_renderer": true,
+			"SDFRayIncrementFactor": 0.8,
+			"SDFTruncation": 0.1,
+			"SDFRayThresSampleDistFactor": 50.5,
+			"SDFRayThresDistFactor": 50.0,
+			"focal": 400,
+			"width": 640,
+			"height": 480,
+			"max_depth": 10.0,
+			"min_depth": 0.1,
+			"SDFUseGradients": false,
+			"uri": "ftl://utu.fi/virt1/rgb-d"
+		},
+		"voxelhash": {
+			"adapterWidth": 852,
+			"adapterHeight": 480,
+			"sensorDepthMax": 8.0,
+			"sensorDepthMin": 1.0,
+			"SDFRayIncrementFactor": 0.8,
+			"SDFRayThresSampleDistFactor": 50.5,
+			"SDFRayThresDistFactor": 50.0,
+			"SDFUseGradients": false,
+			"hashNumBuckets": 500000,
+			"hashMaxCollisionLinkedListSize": 7,
+			"hashNumSDFBlocks": 300000,
+			"SDFVoxelSize": 0.01,
+			"SDFMaxIntegrationDistance": 15.0,
+			"SDFTruncation": 0.1,
+			"SDFTruncationScale": 0.05,
+			"SDFIntegrationWeightSample": 10,
+			"SDFIntegrationWeightMax": 255,
+			"hash_renderer": true
+		},
 		"registration": {
 			"reference-source" : "ftl://utu.fi/dummy/rgb-d",
 			"calibration" : {
@@ -91,6 +130,12 @@
 				"delay" : 1000,
 				"patternsize" : [9, 6]
 				}
+		},
+		"gui": {
+			"net": {
+				"peers": ["tcp://localhost:9002"]
+			},
+			"sources": [{"type": "net", "uri": "ftl://utu.fi/virt1/rgb-d"}]
 		}
 	}
 }
diff --git a/config/config_voxhash.json b/config/config_voxhash.json
index 600f35dd4a743af4b2637e64e1600253debee617..17f2085ad4abe92c7ff354376976f0ad033c41e9 100644
--- a/config/config_voxhash.json
+++ b/config/config_voxhash.json
@@ -1,6 +1,7 @@
 {
 	"vision": {
 		"type": "stereovideo",
+		"uri": "ftl://utu.fi/dummy/rgb-d",
 		"middlebury": {
 			"dataset": "",
 			"threshold": 2.0,