add cache for keys