add Range-based access