refactor split-class