diff --git a/bpm2d.js b/bpm2d.js
index 2a6c640a026ff73510f6e5487e89cc066a897e82..bfa1d9e11f1a63e867fc23653a0a1202721da451 100644
--- a/bpm2d.js
+++ b/bpm2d.js
@@ -3,7 +3,7 @@
 	const corr = {};
 	function bpmMenu(lattice, facilities, params) {
 		if (document.location.search.indexOf('old')>-1) {bpmMenuOld(lattice, facilities, params); return;}
-		params.bpm = '';
+		params.bpm = false;
 		$('.bpmhor').css('display', 'none');
 		$('.bpmver').css('display', 'none');
 		params.bpm = document.location.search.indexOf('bpm')>-1 && document.location.search.indexOf('=bpm')==-1;
@@ -31,6 +31,7 @@
 				console.log('bpmMenu(), name', b, bpmData[b], lattice[b]);
 			});
 		}
+		if (document.location.search.indexOf('bpm')>-1) {params.bpm=true; bpmSwitch(bpmData, params);}
 	}
 	const threshold = document.location.search.indexOf('threshold=')>-1? document.location.search.split('threshold=')[1].split('&')[0]: 1000;
 	const f = document.location.search.indexOf('factor=')>-1? document.location.search.split('factor=')[1].split('&')[0]: 3000;
@@ -56,33 +57,43 @@
 						  Math.round(bpmData[facility].pos[i][1] + f*1.05*Math.cos(beta))
 					);
 				}
-				appendSvg("path", {id:facility+"_bpmhor", class: "bpmhor "+facility, visibility:"hidden", name:"bpmhor", fill: "none", "stroke-width":"50", "stroke":"red", d: dhor.join(' ')+(lattice[facility].sections[0].chamber?' Z':'')});
-				appendSvg("path", {id:facility+"_bpmver", class: "bpmver "+facility, visibility:"hidden", name:"bpmver", fill: "none", "stroke-width":"50", "stroke":"green", d: dver.join(' ')+(lattice[facility].sections[0].chamber?' Z':'')});
+				appendSvg("path", {id:facility+"_bpmhor", class: "bpmhor "+facility, visibility:"hidden", name:"bpmhor", fill: "none", "stroke-width":"100", "stroke":"red", "stroke-opacity":"0.6", d: dhor.join(' ')+(lattice[facility].sections[0].chamber?' Z':'')});
+				appendSvg("path", {id:facility+"_bpmver", class: "bpmver "+facility, visibility:"hidden", name:"bpmver", fill: "none", "stroke-width":"100", "stroke":"green", "stroke-opacity":"0.6", d: dver.join(' ')+(lattice[facility].sections[0].chamber?' Z':'')});
 				console.log("path", {id:facility+"_bpmhor", name:"bpmhor", d: dver.join(' ')+' Z'});
 			}
 		}
 	}
 	function bpmSwitch(bpmData, params) {
 		console.log('bpmSwitch()',bpmData, params, params.bpm);
-		if (bpmData.reader !== false) clearInterval(bpmData.reader);
+		if (bpmData.reader !== false) {
+			clearInterval(bpmData.reader);
+		}
 		bpmData.reader = false;
 		if (params.bpm=='') {
+			for (let facility in bpmData) {
+				if (typeof $('#'+facility+"_bpmhor").attr('visibility') != 'undefined') {
+					$('#'+facility+"_bpmhor").attr('visibility', "hidden");
+					$('#'+facility+"_bpmver").attr('visibility', "hidden");
+				}
+			}
 			$('#application').hide();
 			$('#applicationFrame').removeAttr("src");
 		} 
 		else {
 			const bpms = [];
 			for (let i in bpmData) if (i!="reader") bpms.push(i);
-			console.log('bpms', bpms);
-			// const bpms = 'sr,bts,preinjector'.split(','); // <<<<<<<<<<<<<<<<<<<<<<<<--------------------------------------------------
+			console.log('bpms', bpms, bpmData);
 			for (let facility in bpmData) {
-				if (typeof bpmData[facility].map == 'undefined') continue;
+				if (typeof $('#'+facility+"_bpmhor").attr('visibility') != 'undefined') {
+					$('#'+facility+"_bpmhor").attr('visibility', "visible");
+					$('#'+facility+"_bpmver").attr('visibility', "visible");
+				}
+				// console.log('#'+facility+"_bpmhor", $('#'+facility+"_bpmhor").attr('visibility'), typeof bpmData[facility]);
+				if (typeof bpmData[facility] == 'undefined' || typeof bpmData[facility].map == 'undefined') continue;
 				bpmData.oldIndex = facility;
 				bpmRead(bpmData, params);
-				$('#'+facility+"_bpmhor").attr('visibility', "visible");
-				$('#'+facility+"_bpmver").attr('visibility', "visible");
 			}
-			bpmData.reader = setInterval(bpmRead, 3000, bpmData, params);
+			bpmData.reader = setInterval(bpmRead, 200, bpmData, params);
 			$('#application').show();	
 			$('.bpmhor').css('display', 'block');
 			$('.bpmver').css('display', 'block');
@@ -118,9 +129,9 @@
 		fetch(conf.bpmUrl)
 		.then((response) => {return response.json();})
 		.then((eventData) => {
-			console.log('bpmRead()', conf.bpmUrl, eventData);
+			// console.log('bpmRead()', conf.bpmUrl, eventData);
 			for (let i in eventData) {
-				// console.log(i, eventData[i]);
+				// console.log('bpmRead()', i, eventData[i], conf.bpmUrl);
 				bpmRender(i, eventData[i]);
 			}
 		});