settings are now saved on-change