splitting functions
splitting functions