regeneration callback applied