improve cache and httputil