Function runUntilDoneWith