Added request timeout functionality