improve the calConservation