doWhileM