add method waitAllComplete