switch to util::waitpid