added slice function, and rewrote subrope in terms of split