refine cache, add test