update Functional mechanism