  We consider the problem of finding a homomorphism from an input digraph $G$
to a fixed digraph $H$. We show that if $H$ admits a weak-near-unanimity
polymorphism $\phi$ then deciding whether $G$ admits a homomorphism to $H$
(HOM($H$)) is polynomial time solvable? This gives a proof of the dichotomy
conjecture (now dichotomy theorem) by Feder and Vardi [29]. Our approach is
combinatorial, and it is simpler than the two algorithms found by Bulatov [9]
and Zhuk [46] in 2017. We have implemented our algorithm and show some
experimental results.
