relax uses same runWhile as everything else