add TerminalSplitter class