settings refactor fixes