extend from c#