Split implementation