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