changed use 0 as 'no timeout' value