null if can't detect