system components refactoring