configurable timeout