рефакторинг: перенос сервиса в отдельный файл