refactored settings resource