complete recursiveSplit (w/o test)