add timeout for pipes
add timeout for new select command