implementation and results