add counter cache