Adding start of csharp impl