add Range support