улучшения архитектуры с целью выделить ядро программы в библиотеку для многократного использования