Add features to support request timeout