split refactoring