improve conflict checking