added range cache