added cache updating on request and ImprovingPromise