settings refactorized