refactoring - application components