bring back updaterange()