app's refactoring