fixed timeout implementation