fix range and prevent invalid parameter