implements conflict detecting