try to maximize cache hits