new methods, new unit tests, renaming

new Split extension method, rewrited other methods