add tree node split function