add more util functions (wait, parallel, select)