simplify caching by direct dict usage