refactoring
adding dynamic splitter