refactored settings dialoge