completed splitter class