Вынос в отдельные классы