modified to support caching ajax html response