Added split interface & implementation