базовые классы и немного тестов для начала