rewrite each with new _wait