deal with user setting