some split changes
a number of canges, better docstrings