refactoring and exclusion rule