basic expiration and request timeout functionality