add timeout support
update readme after adding timeout support