update split function