more precise condition