avoid range check