updated add cache provider to allow an override expiration time