perturb method