Немного отрефакторил
Продолжаю пилить...