add Split stream along with some tests

do we need to have a max buffer size option?