add candidates cache support