Barrier touch option util, and a different loop construct