Розділено на класи, поміщено в окремі файли