more accurate check