split now respects position limits