add general settings, refactoring