Refactored to splitter interface