add preference settings
update