Финальная версия - рефакторинг