fucked up
prepared for optimization of congruence cache