finish first time

wait to optimize