add RangeMatcher
Refactaring
add spec