method unification