implemented splitter class