базовая логика готова