First C# impl