продолжение здесь: https://dybr.ru/blog/boolevard