refactoring basicsplitter