Могучий рефакторинг. И таки переборный алгоритм