- OOP-ed
- now can query range