Перенёс часть логики в сервисы