некоторые улучшения алгоритмов