Generalized method