implements _split()