make timeout a configurable parameter