user setting refactoring.