perturbation methods