diff --git a/hswaw/laserproxy/main.go b/hswaw/laserproxy/main.go
index 07d7bcd..03c2bf8 100644
--- a/hswaw/laserproxy/main.go
+++ b/hswaw/laserproxy/main.go
@@ -22,6 +22,7 @@
 	flagLaserNetworkAddress = "10.11.0.1"
 	flagClientNetworkAddress = "10.8.1.2"
 	flagWebAddress = "127.0.0.1:8080"
+	flagOwnershipDuration = "1h"
 
 	tplIndex = template.Must(template.New("index.html").Parse(tpl.MustAssetString("index.html")))
 )
@@ -35,6 +36,7 @@
 	flag.StringVar(&flagLaserNetworkAddress, "laser_network", flagLaserNetworkAddress, "Address of proxy on laser network")
 	flag.StringVar(&flagClientNetworkAddress, "client_network", flagClientNetworkAddress, "Address of proxy on client network")
 	flag.StringVar(&flagWebAddress, "web_address", flagWebAddress, "Address and port to listen on for public web connections")
+	flag.StringVar(&flagOwnershipDuration, "timeout_duration", flagOwnershipDuration, "Time after which lasercutter lock will expire when not in use")
 
 	flag.Parse()
 	m := mirko.New()
@@ -63,13 +65,18 @@
 		glog.Fatalf("could not make laser UDP address: %v", err)
 	}
 
+	ownershipDuration, err := time.ParseDuration(flagOwnershipDuration)
+	if err != nil {
+		glog.Fatalf("could not parse timeout duration: %v", err)
+	}
+
 	ctx := m.Context()
 	s := &service{
 		lockCtrl: make(chan *lockCtrl),
 	}
 	updates := make(chan *lockUpdate)
 	go s.runProxy(ctx, updates, laserAddr, lisLaser, lisClient)
-	go s.runLocker(ctx, s.lockCtrl)
+	go s.runLocker(ctx, s.lockCtrl, ownershipDuration)
 	s.lockCtrl <- &lockCtrl{
 		subscribe: &lockCtrlSubscribe{
 			subscriber: updates,
@@ -103,7 +110,7 @@
 
 var (
 	sampleNames = []string{
-		"enleth", "radex", "qdot", "hans acker", "makłowicz",
+		"enleth", "radex", "qdot", "hans acker", "lars aser", "makłowicz",
 	}
 )
 
@@ -126,13 +133,13 @@
 	err := tplIndex.Execute(w, struct {
 		You bool
 		CurrentAddress string
-		CurrentNote string
+		CurrentName string
 		CurrentDeadline string
 		SampleName string
 	}{
 		You: cur.addr == remoteAddr(r),
 		CurrentAddress: cur.addr,
-		CurrentNote: cur.note,
+		CurrentName: cur.note,
 		CurrentDeadline: fmt.Sprintf("%d minute(s)", int(cur.deadline.Sub(time.Now()).Minutes())),
 		SampleName: sampleNames[rand.Intn(len(sampleNames))],
 	})
@@ -149,7 +156,7 @@
 	who := r.Form.Get("who")
 	prev := r.Form.Get("prev")
 	if who == "" {
-		fmt.Fprintf(w, "sorry, who are you? please specify a name")
+		fmt.Fprintf(w, "excuse me, who are you? please specify a name")
 		return
 	}
 
