don't pass empedded lock by value
disallow duplicate texts
scroll to top on errors
go vet