make add_range accept inclusive ranges, more intuitive that way

also fix the tests, and add some more
add partially failing tests for second add_range