preference attribute change