add cache for search