fixed bug in eval_Q: cac_i has to be called cac as x.rate depends on cac