More granular refactoring