settings refactor in progress