Der entscheidende Unterschied zu einem universellen Chat-Modell liegt in der Spezialisierung: Codestral wurde überwiegend auf Code trainiert. Es kennt die Syntax, die Strukturmuster und die typischen Bibliotheken vieler Programmiersprachen und kann deshalb passende Funktionen, Tests oder Korrekturen vorschlagen, die sich nahtlos in vorhandenen Code einfügen. Für Aufgaben wie das Schreiben einer neuen Funktion, das Ergänzen einer halbfertigen Codestelle oder das Übersetzen von Logik aus einer Sprache in eine andere ist ein solches Code-Modell häufig präziser und schneller als ein Allzweck-Modell.
Drei Eigenschaften prägen Codestral und erklären, warum es für europäische Unternehmen interessant ist:
Es lohnt sich, den Unterschied zwischen einem Code-LLM und einem allgemeinen Chat-Modell sauber zu verstehen, weil daraus die richtigen Erwartungen folgen. Ein Allzweck-Modell kann ebenfalls Code schreiben, ist dabei aber ein Generalist: Es jongliert Lyrik, Marketingtexte und Programmierung mit demselben Wissensstand. Ein Code-LLM wie Codestral hat im Training einen weit höheren Anteil an Quellcode gesehen und ist auf die spezifischen Aufgaben des Programmierens hin optimiert. Das macht es bei eng umrissenen Coding-Aufgaben – Vervollständigung, Generierung kleiner Bausteine, Umschreiben – oft treffsicherer und in der Antwort knapper.
Gleichzeitig bedeutet diese Spezialisierung, dass Codestral nicht das Werkzeug für jede Aufgabe ist. Für ausführliche fachliche Erklärungen, für das Verfassen von Dokumentation in natürlicher Sprache oder für die strategische Diskussion einer Architektur greifen Teams häufig zusätzlich auf ein größeres Allzweck-Modell zurück. In der Praxis bewährt sich deshalb oft eine Kombination: das Code-Modell für die schnelle Arbeit direkt im Editor, ein generalistisches Modell für die längeren, erklärenden Aufgaben.
Quellcode gehört für viele Unternehmen zum Kern ihres Werts. Er enthält Geschäftslogik, Schnittstellen zu Kundensystemen, Sicherheitsmechanismen und häufig auch Hinweise auf interne Prozesse. Wenn dieser Code zur Bearbeitung an einen externen KI-Dienst übermittelt wird, stellt sich unweigerlich die Frage nach Vertraulichkeit, Verarbeitungsort und Zweckbindung. Hier setzt das Argument der europäischen Herkunft an: Ein Anbieter mit Sitz in der EU vereinfacht die datenschutzrechtliche Argumentation, weil sich die Verarbeitung grundsätzlich innerhalb des europäischen Rechtsraums verorten lässt.
Das ist kein Selbstläufer und keine Garantie – die konkreten Bedingungen hängen vom gewählten Zugangsweg und den vertraglichen Zusicherungen ab. Aber es ist ein spürbarer Unterschied gegenüber der Situation, in der Code zwingend an einen Dienst außerhalb der EU fließt. Für Unternehmen, die ihre Souveränität über den eigenen Quellcode bewahren wollen, ist diese Ausgangslage einer der Hauptgründe, Codestral überhaupt in die engere Wahl zu nehmen.
Viele Anwender denken bei KI-Code-Hilfe zuerst an die Generierung ganzer Funktionen aus einem Prompt. Im Alltag der Entwicklung ist jedoch eine andere Fähigkeit oft wertvoller: das Ergänzen von Code mitten in einer bestehenden Datei. Genau das leistet Fill-in-the-Middle. Anders als beim reinen Weiterschreiben am Zeilenende berücksichtigt das Modell hier sowohl den Code vor der Lücke als auch den Code danach und fügt den Vorschlag passgenau ein. Das entspricht der realen Arbeitsweise: Man springt in eine vorhandene Funktion, setzt den Cursor zwischen zwei Blöcke und braucht eine Ergänzung, die sich nahtlos einfügt.
Für die Integration in Editoren ist diese Fähigkeit deshalb so wichtig, weil sie die typische Inline-Vervollständigung erst wirklich nützlich macht. Ein Modell, das nur ans Ende schreiben kann, stört beim Arbeiten in der Mitte eines Dokuments. Ein Modell mit Fill-in-the-Middle fügt sich in den Schreibfluss ein. Wer die Praxistauglichkeit von Codestral bewertet, sollte diese Funktion gezielt an realen Dateien aus dem eigenen Projekt testen – dort zeigt sich, ob die Vorschläge zum eigenen Stil und zur eigenen Codebasis passen.
So hilfreich ein Code-Modell ist – es bleibt ein statistisches System, das plausibel aussehende Vorschläge erzeugt, nicht zwingend korrekte. Vorschläge können subtile Fehler enthalten, veraltete Bibliotheksaufrufe verwenden oder Sicherheitslücken einbauen, ohne dass es auf den ersten Blick auffällt. Die Verantwortung für die Qualität bleibt beim Entwicklungsteam: Jeder generierte Code muss gelesen, verstanden und geprüft werden, bevor er in die Codebasis gelangt. Code-Review, automatisierte Tests und statische Analyse verlieren mit KI-Unterstützung nicht an Bedeutung – im Gegenteil, sie werden wichtiger.
Auch die Qualität variiert je nach Programmiersprache und Aufgabenstellung. Bei weit verbreiteten Sprachen und gängigen Mustern sind die Ergebnisse in der Regel besser als bei Nischen-Sprachen oder hochspezifischen Frameworks. Deshalb gilt: Bewerten Sie Codestral immer anhand Ihres eigenen Technologie-Stacks und Ihrer typischen Aufgaben, nicht anhand allgemeiner Aussagen. Was für ein Python-Backend hervorragend funktioniert, kann bei einer seltenen Sprache deutlich schwächer ausfallen.
Im Kern gibt es zwei Wege, Codestral in die Entwicklungsarbeit zu bringen. Der erste ist die Integration über ein IDE-Plugin: Eine Erweiterung für den Editor spricht im Hintergrund mit dem Modell und blendet Vorschläge direkt im Code ein – als Inline-Vervollständigung, als Chat-Seitenleiste oder als Kontextmenü-Aktion. Der zweite Weg ist die Nutzung über die API, wenn ein Unternehmen einen eigenen Coding-Assistenten oder ein internes Werkzeug baut, das Codestral als Modell verwendet.
Für verbreitete Editoren wie Visual Studio Code oder die JetBrains-Familie gibt es Erweiterungen, über die sich Code-Modelle anbinden lassen. Manche stammen vom Anbieter selbst, andere von Drittanbietern oder aus dem Open-Source-Umfeld, die mehrere Modelle unterstützen und Codestral als eine Option anbieten. Der praktische Komfort hängt stark vom Plugin ab: Wie reibungslos erscheinen Vorschläge, wie gut lässt sich zwischen Vervollständigung und Chat wechseln, wie wird der Projektkontext einbezogen? Diese Faktoren entscheiden im Alltag oft mehr über die Akzeptanz als kleine Unterschiede in der reinen Modellqualität.
Wichtig ist auch die Frage, wohin die Daten fließen. Ein Plugin, das mit einer Anbieter-API spricht, sendet Code-Ausschnitte an diesen Dienst – das muss zur Datenschutz-Strategie passen. Ein Plugin, das gegen ein selbst betriebenes Modell im eigenen Netz arbeitet, hält den Code im Haus. Wer Codestral einführt, sollte deshalb nicht nur das Plugin nach Komfort auswählen, sondern auch danach, welchen Verarbeitungsweg es nutzt und ob sich dieser kontrollieren lässt.
Der zweite Integrationsweg ist die direkte Nutzung der API. Hier ruft eine eigene Anwendung das Modell auf – etwa ein internes Entwicklerportal, ein Werkzeug zur automatisierten Code-Prüfung oder ein maßgeschneiderter Assistent, der auf die Konventionen des Unternehmens abgestimmt ist. Dieser Weg bietet die größte Gestaltungsfreiheit: Man kann festlegen, welcher Kontext mitgegeben wird, wie Vorschläge gefiltert werden und wie das Werkzeug sich in bestehende Abläufe einfügt. Er verlangt aber auch Entwicklungs- und Betriebsaufwand.
Gerade für Unternehmen mit eigenen Entwicklungsteams ist die API-Variante attraktiv, weil sie Codestral zum Bestandteil eigener Werkzeuge macht, statt sich an ein fertiges Produkt zu binden. So lassen sich etwa unternehmensspezifische Code-Standards, interne Bibliotheken oder Sicherheitsvorgaben in den Assistenten einbauen. Der Preis dafür ist, dass man den Assistenten selbst pflegen, aktualisieren und betreiben muss – eine Entscheidung, die zur Größe und zum Reifegrad des Teams passen sollte.
Aus unseren Projekten wissen wir: Ob ein Code-Assistent angenommen wird, hängt selten an einzelnen Benchmark-Werten. Entscheidend sind die „weichen“ Faktoren des täglichen Gebrauchs. Reagiert die Vervollständigung schnell genug, um nicht zu stören? Sind die Vorschläge häufig genug brauchbar, dass sich das Hinsehen lohnt? Lässt sich der Assistent unkompliziert ausschalten, wenn man konzentriert selbst schreiben will? Ein Werkzeug, das diese Punkte gut löst, wird genutzt – eines, das ständig irritiert, wird abgeschaltet, ganz unabhängig von der theoretischen Modellstärke.
Deshalb empfehlen wir, eine Einführung immer mit einem kurzen, realistischen Praxistest zu beginnen: ein kleines Team, eine Woche, echte Aufgaben aus dem laufenden Projekt. Erst dann zeigt sich, ob die Kombination aus Codestral und gewähltem Werkzeug zum Arbeitsstil des Teams passt. Diese Erkenntnis ist mehr wert als jede allgemeine Aussage über die Leistungsfähigkeit eines Modells.
Wer von „offenen“ Modellen hört, denkt häufig automatisch an freie kommerzielle Nutzung ohne Einschränkungen. Bei Code-Modellen wie Codestral ist das nicht selbstverständlich. Mistral AI hat für dieses Modell eigene Lizenzbedingungen formuliert, die festlegen, in welchem Rahmen das Modell verwendet werden darf – etwa zu Test- und Entwicklungszwecken, in der Forschung oder im produktiven, kommerziellen Einsatz. Diese Bedingungen können sich je nach Modellvariante unterscheiden, und sie können sich über die Zeit ändern. Deshalb ist die Lektüre der jeweils gültigen Lizenz unverzichtbar.
Ein häufiges Missverständnis ist die Vermischung von Bezugsweg und Lizenz. Ob man Codestral über eine API bezieht, über einen Cloud-Marktplatz oder im Eigenbetrieb nutzt, ist eine technische und kommerzielle Frage. Welche Rechte und Pflichten mit der Nutzung verbunden sind, regelt die Lizenz beziehungsweise der jeweilige Vertrag. Beides hängt zusammen, ist aber nicht identisch: Über eine verwaltete API gelten typischerweise die Nutzungsbedingungen des Dienstes, während beim Self-Hosting eines bereitgestellten Modells dessen Modell-Lizenz greift.
Für die Praxis bedeutet das: Man muss zwei Ebenen prüfen. Erstens die Bedingungen des gewählten Zugangswegs – etwa Tarif, Datennutzung und Verfügbarkeit bei einer API. Zweitens die Modell-Lizenz, sofern man das Modell selbst betreibt. Wer diese Trennung im Kopf behält, vermeidet Fehlannahmen, etwa die Annahme, eine kostenlose Testnutzung über eine Plattform erlaube automatisch den unbegrenzten produktiven Eigenbetrieb.
Aus der Lizenzfrage ergeben sich konkrete Handlungsempfehlungen. Unternehmen sollten die Lizenzprüfung als festen Bestandteil der Bewertung behandeln und idealerweise dokumentieren, welche Variante in welchem Kontext eingesetzt wird. Bei Unsicherheit – etwa wenn Codestral Teil eines Produkts werden soll, das an Kunden ausgeliefert wird – ist eine rechtliche Prüfung ratsam. Die hier gegebenen Hinweise sind eine allgemeine Einordnung und ersetzen keine Rechtsberatung; die verbindliche Auslegung der Lizenz obliegt fachkundiger Beratung anhand des konkreten Einsatzes.
Positiv zu werten ist, dass ein klar formulierter Lizenzrahmen Planungssicherheit schafft. Wer weiß, unter welchen Bedingungen er ein Modell einsetzen darf, kann fundiert entscheiden – anders als bei Diensten, deren Bedingungen unklar oder ständig im Fluss sind. Die Empfehlung lautet daher nicht, sich von der Lizenzfrage abschrecken zu lassen, sondern sie ernst zu nehmen und am Anfang sauber zu klären.
Codestral ist besonders dann eine gute Wahl, wenn zwei Anforderungen zusammenkommen: solide Code-Unterstützung und ein hoher Stellenwert von Datenhoheit. Der EU-Bezug des Anbieters und die Möglichkeit, je nach Variante selbst zu hosten, machen Codestral zu einer naheliegenden Option für Unternehmen, die ihren Quellcode nicht ohne Weiteres an außereuropäische Dienste geben wollen. Gegenüber den Modellen hinter etablierten US-Assistenten liegt der Unterschied damit weniger in der reinen Fähigkeit als in der Souveränitäts- und Betriebsfrage.
Gegenüber den offenen Code-Llama-Modellen von Meta und den Qwen-Coder-Modellen teilt Codestral die Stärke der Self-Hosting-Fähigkeit, kombiniert sie aber mit dem Vorteil eines europäischen Anbieters – ein Aspekt, der für manche Organisationen rechtlich und kommunikativ leichter zu vertreten ist. Welche Option im Einzelfall die beste Code-Qualität liefert, lässt sich nicht pauschal sagen und sollte im eigenen Stack getestet werden.
Codestral ist nicht automatisch die richtige Wahl. Wenn ein Unternehmen einen vollständig integrierten Coding-Assistenten „von der Stange“ sucht, der ohne Eigenaufwand sofort im Editor verfügbar ist, sind die etablierten Produkte rund um die Copilot-Modelle oft der bequemere Weg – sofern deren Datenschutz- und Vertragslage akzeptabel ist. Wer hingegen eine rein quelloffene Lösung mit maximaler Anpassbarkeit sucht und keinen Wert auf den EU-Anbieterbezug legt, findet bei Code Llama oder Qwen Coder ebenfalls leistungsfähige Alternativen.
Die ehrliche Antwort lautet deshalb: Es gibt kein „bestes“ Code-Modell, sondern nur das für den jeweiligen Kontext passendste. Wer Datenhoheit, EU-Bezug und Flexibilität beim Betrieb höher gewichtet als maximalen Komfort, landet häufig bei Codestral. Wer reinen Komfort und ein integriertes Produkt sucht, eher bei den etablierten Assistenten. Diese Abwägung sollte am Anfang stehen – nicht ein Vergleich abstrakter Bestwerte.
Die wichtigste Entscheidung beim Betrieb ist die zwischen verwalteter Nutzung und Eigenbetrieb. Die API ist der schnellste Weg: Man registriert sich, erhält einen Zugang und kann sofort beginnen. Der Preis dafür ist, dass Code-Ausschnitte an den Dienst übermittelt werden und man auf dessen Verfügbarkeit, Vertragsbedingungen und Datenumgang angewiesen ist. Für viele Teams ist das völlig akzeptabel – gerade in einer Erprobungsphase – sofern eine saubere Auftragsverarbeitungsvereinbarung vorliegt und geklärt ist, dass Eingaben nicht ungewollt für das Training verwendet werden.
Self-Hosting dreht die Abwägung um: Maximale Datenhoheit steht maximalem Eigenaufwand gegenüber. Wenn das Modell in der eigenen Umgebung läuft, verlässt der Code das Haus nicht – ein starkes Argument für besonders schutzbedürftige Bereiche. Dafür braucht es geeignete Hardware (in der Regel leistungsfähige Grafikprozessoren), Fachwissen für Einrichtung und Betrieb sowie die Übernahme aller Sicherheits- und Wartungspflichten. Diese Variante lohnt sich vor allem für Organisationen mit entsprechenden Anforderungen und Ressourcen.
In der Praxis hat sich ein gestufter Ansatz bewährt. Am Anfang steht ein klar abgegrenzter Pilot – häufig über die API oder einen Cloud-Marktplatz, weil so der schnellste Erkenntnisgewinn ohne große Vorabinvestition möglich ist. In dieser Phase lässt sich prüfen, ob Codestral zum eigenen Stack passt, wie die Akzeptanz im Team ist und welche Aufgaben wirklich profitieren. Wichtig ist, dass auch für den Pilot die datenschutzrechtlichen Grundlagen stimmen – ein Pilot mit echtem Quellcode ist kein rechtsfreier Raum.
Führt der Pilot zu einem positiven Ergebnis und sprechen die Schutzanforderungen dafür, kann der Übergang zu einem stärker kontrollierten Betriebsmodell folgen – bis hin zum Self-Hosting für die sensibelsten Bereiche. Diese Reihenfolge vermeidet, dass man von Beginn an in eine aufwändige Infrastruktur investiert, bevor der Nutzen belegt ist. Sie ermöglicht es, Aufwand und Kontrolle schrittweise an den tatsächlichen Bedarf anzupassen.
Bei aller Begeisterung für KI-Code-Hilfe ist eine nüchterne Einordnung wichtig. Code-Modelle beschleunigen vor allem die Routine: das Schreiben von Standardfunktionen, das Ergänzen offensichtlicher Stellen, das Erklären bekannter Muster. Bei diesen Aufgaben ist der Zeitgewinn real und im Alltag spürbar. Bei anspruchsvollen Entwurfsentscheidungen, komplexer Architektur oder kniffligen Fehlern, die tiefes Systemverständnis verlangen, bleibt die menschliche Expertise unersetzt – das Modell ist hier Zuarbeiter, nicht Ersatz.
Wir empfehlen Mittelständlern deshalb, den Nutzen nicht an Schlagworten festzumachen, sondern am eigenen Erleben im Pilot. Eine ehrliche Erwartungshaltung lautet: KI-Code-Hilfe macht gute Entwicklungsteams produktiver, sie macht aber keine Nicht-Entwickler zu Entwicklern und ersetzt keine sauberen Prozesse für Prüfung und Qualitätssicherung. Wer mit dieser Haltung startet, wird seltener enttäuscht und schöpft den realen Nutzen besser aus.
Damit Codestral im Mittelstand Wirkung entfaltet, müssen einige Grundlagen stimmen. Erstens braucht es eine klare Entscheidung zum Betriebsmodell, die zur Datenschutz-Strategie passt – API, Marktplatz oder Self-Hosting. Zweitens muss die Einbindung in die vorhandenen Werkzeuge reibungslos funktionieren, sonst bleibt der Komfort aus. Drittens sind verbindliche Regeln nötig, wie mit generiertem Code umzugehen ist: Prüfung, Review und Tests bleiben Pflicht.
Viertens schließlich ist die Begleitung des Teams entscheidend. Eine kurze Einführung, gemeinsame Konventionen für den Umgang mit Vorschlägen und ein offener Austausch über gute und schlechte Erfahrungen sorgen dafür, dass das Werkzeug angenommen wird. Technik allein erzeugt keinen Mehrwert – erst die Kombination aus passendem Modell, guter Integration und einem Team, das gelernt hat, das Werkzeug sinnvoll einzusetzen, führt zu nachhaltigem Nutzen.
Grundsätzlich gibt es zwei Kostenwelten. Bei der Nutzung über eine API folgt die Abrechnung in der Regel einer Token-Logik: Bezahlt wird nach der Menge der verarbeiteten Ein- und Ausgabe, gemessen in Token (kleinen Texteinheiten). Wer viel Code generiert und vervollständigt, verarbeitet mehr Token und zahlt entsprechend mehr. Bei Self-Hosting verschiebt sich die Kostenstruktur vollständig: Statt nutzungsabhängiger Gebühren entstehen Kosten für Hardware, Strom, Betrieb und Personal – weitgehend unabhängig vom einzelnen Aufruf, aber mit erheblichen Fixkosten und Lizenzpflichten.
Bei der API-Nutzung ist die wichtigste Stellgröße das Verarbeitungsvolumen. Jede Anfrage besteht aus einer Eingabe (dem Kontext, den das Modell sieht) und einer Ausgabe (dem generierten Code). Beides zählt in Token. Daraus folgt eine praktische Konsequenz: Wer dem Modell sehr viel Kontext mitgibt – etwa große Dateien oder ganze Projektausschnitte –, erhöht die Kosten pro Anfrage. Die Optimierung von Kontextgröße und Anfragehäufigkeit ist deshalb ein direkter Hebel zur Kostensteuerung.
Für eine realistische Kalkulation empfiehlt es sich, das erwartete Volumen abzuschätzen: Wie viele Entwickelnde nutzen das Modell, wie häufig, mit welchem typischen Kontext? Aus diesen Annahmen lässt sich ein Monatsbudget ableiten, das dann im Pilot mit den realen Werten abgeglichen wird. So vermeidet man böse Überraschungen und behält die laufenden Kosten im Griff. Wichtig ist, den Pilot bewusst zur Kostenmessung zu nutzen – die tatsächliche Nutzung weicht oft von der Schätzung ab.
Self-Hosting wirkt auf den ersten Blick günstig, weil keine nutzungsabhängigen Gebühren anfallen. Die Realität ist differenzierter. Wer ein Code-Modell selbst betreibt, benötigt geeignete Hardware – in der Regel leistungsfähige Grafikprozessoren, die in Anschaffung und Betrieb teuer sind. Hinzu kommen Stromkosten, Aufwände für Einrichtung, Wartung, Sicherheit und Aktualisierung sowie das nötige Fachpersonal. Diese Fixkosten lohnen sich erst ab einer gewissen Nutzungsintensität.
Die ehrliche Faustregel lautet: Self-Hosting rechnet sich vor allem dort, wo entweder das Verarbeitungsvolumen sehr hoch ist oder die Datenhoheit einen so hohen Wert hat, dass sie die Mehrkosten rechtfertigt. Für ein kleines Team mit moderater Nutzung ist die API meist die wirtschaftlichere Wahl. Diese Abwägung sollte mit realen Zahlen erfolgen – eine Gesamtkostenbetrachtung über mehrere Jahre, die alle Posten einschließt, ist aussagekräftiger als ein Blick auf den reinen Token-Preis.
Der zentrale datenschutzrechtliche Vorteil von Codestral gegenüber US-Diensten liegt in der Herkunft des Anbieters. Bei der Nutzung US-amerikanischer Dienste stellt sich regelmäßig die Frage nach Drittlandtransfers und dem Zugriff durch ausländische Behörden – das bekannte Schrems-II-Thema. Ein Anbieter mit Sitz in der EU vereinfacht diese Argumentation, weil die Verarbeitung grundsätzlich innerhalb des europäischen Rechtsraums verortet werden kann. Das bedeutet nicht, dass damit alle Pflichten entfallen – die DSGVO gilt unverändert –, aber ein wesentliches Risiko-Element verliert an Gewicht.
Wichtig ist, diese Erleichterung nicht zu überdehnen. Auch bei einem EU-Anbieter müssen die Grundlagen stimmen: eine saubere Auftragsverarbeitungsvereinbarung, klare Festlegung des Verarbeitungsorts, Transparenz über eingebundene Subdienstleister und ein dokumentierter Umgang mit personenbezogenen Daten. Gerade beim Verarbeiten von Quellcode kommt die Frage der Code-Vertraulichkeit hinzu – sie ist zwar nicht in jedem Fall eine Datenschutzfrage im engeren Sinn, gehört aber zur selben Schutzüberlegung. Der EU-Bezug ist ein starkes Argument, aber kein Freibrief.
Den weitreichendsten Schutz bietet das Self-Hosting. Wenn Codestral vollständig in der eigenen, kontrollierten Umgebung läuft, findet keine Übermittlung an einen externen Anbieter statt – und damit entfällt eine ganze Klasse von Fragen rund um Auftragsverarbeitung und Drittlandtransfer. Für Unternehmen, deren Quellcode besonders schützenswert ist, oder für Verarbeitungen mit besonders sensiblen Daten ist dies häufig der überzeugendste Weg, KI-Code-Hilfe zu nutzen, ohne die Kontrolle über den Code aufzugeben.
Auch hier bleibt jedoch Verantwortung im Haus: Self-Hosting verlagert die Datenschutz- und Sicherheitsverantwortung zu Ihnen. Zugriffskontrollen, Protokollierung, Verschlüsselung, Löschkonzepte und der sichere Betrieb der Infrastruktur müssen selbst gewährleistet werden. Hinzu kommt die Beachtung der Modell-Lizenz, die den Eigenbetrieb regelt. Self-Hosting beseitigt das Problem des externen Datentransfers, ersetzt aber nicht die Pflicht zu angemessenen technischen und organisatorischen Maßnahmen.