parameterized loop range