refactored settings activity