improved setting saving events