Refactored Interval; passing all tests; still need to add tree balancing