pre_calc