timeout is configurable