internal check