check cache before lookup