split refactor