more range checking