upgrade functionals