multi-wait 1st impl