all the standard algorithms realization