- added timeout handling