A future reader of this code might welcome perhaps a comments what is done here in which groups.
So ```//backup current values``` here and ```//restore values``` below.