Before revision: We show that deciding whether a ]  given relational structure R admits a weak near unanimity polymorphism is polynomial time solvable .
After revision: 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 proof of the dichotomy conjecture (now dichotomy theorem) by Feder and Vardi. Our approach is combinatorial, and it is simpler than the two algorithms found by Bulatov and Zhuk. We have implemented our algorithm and show some experimental results. We use our algorithm together with the recent result ] given relational structure R admits a weak near unanimity polymorphism is polynomial time solvable .