реализовал вторую версию алгоритма

todo рефакторинг =)