Extra O(N) look-up cached to O(1) -- doesn't do much yet