stricter self-check