added back in the singularReductions cache, I wish we didnt need it but we do