#14 added some tests (yet red) for range intersections, made some refactoring