prefer begin to first for range