settings refactored