Correct design, fix translation cache bug